Skip to content

ci: make the PR comment sticky and cancel superseded runs - #30

Merged
DerekCorniello merged 4 commits into
mainfrom
ci/pipeline-hygiene
Jul 31, 2026
Merged

ci: make the PR comment sticky and cancel superseded runs#30
DerekCorniello merged 4 commits into
mainfrom
ci/pipeline-hygiene

Conversation

@DerekCorniello

Copy link
Copy Markdown
Contributor

Part of the CI/CD rework (step 2 of the plan). Mechanical and independent of the
other six repo PRs in this batch - mergeable in any order.

What changes

Stop double-labelling new issues (muxlang/mux-context#19). issue-triage.yml
applied needs triage unconditionally on every issues: opened, but all 15 issue
templates org-wide already set the label in their frontmatter, so the workflow
call was pure duplication. The file is byte-identical across 7 repos, so this same
diff lands in each.

ensureLabel is deliberately kept, and there is a comment saying why: GitHub
silently drops a label a template references if it does not exist in the repo, so
that call is what creates it. Removing both would quietly stop templates labelling
anything. Auto-assign and the documentation heuristic are untouched.

Cancel superseded PR runs. No concurrency group existed, so pushing three
commits in a row ran three full pipelines at once.

cancel-in-progress is scoped to pull requests rather than set to a blunt true:
cancelling a push to main would discard the authoritative run for that commit.

Verification

All workflow files in the repo still parse as valid YAML and remain ASCII-only.

Make the PR report comment sticky. pr-comment.yml ended in gh pr comment,
which creates a new comment on every push - muxlang/mux-compiler#317 has two
report comments from two pushes, and a 20-push PR would have twenty. It now
embeds a hidden <!-- mux-ci-report --> marker and updates its own comment in
place.

The lookup filters on the marker and github-actions[bot] authorship. That
second condition is load-bearing: anyone can post a comment containing the
marker, and only a bot-authored comment is ours to overwrite. Verified the
selector against real API data on muxlang/mux-compiler#317 and #318.

Colour the valgrind pie chart. It emitted bare pie showData, so mermaid
used its default blue/purple palette (muxlang/mux-context#27). Now green for
clean, red for leaking, via a themeVariables init directive.

Stop the chart vanishing silently. emit_valgrind_pie returned early
whenever the log did not match its expected shape, so a format change would drop
the chart with no indication. It now says so in the comment. Both notes are
trusted literals, so the injection model in the file header is preserved.

Note: this workflow is workflow_run-triggered, so it only takes effect from the
copy on main - this PR cannot demonstrate its own change. Worth a look on the
next PR after merge. Existing comments have no marker, so the first run after
merge creates one fresh comment and updates that one thereafter.

🤖 Generated with Claude Code

- issue-triage: drop the unconditional `needs triage` application. Every
  issue template already sets the label in its frontmatter, so this was pure
  duplication. ensureLabel stays deliberately: GitHub silently drops a template
  label that does not exist in the repo, so that call is what creates it.

- add a concurrency group so a newer push supersedes an in-flight PR run.
  A push to main is never cancelled - that run is the authoritative record for
  the commit.

- pr-comment: update our own report comment in place instead of posting a new
  one on every push, matching on a hidden marker AND github-actions[bot]
  authorship so a comment anyone can forge is never overwritten. Colour the
  valgrind pie green/red rather than mermaid's default blue/purple, and say so
  in the comment when the log cannot be parsed instead of dropping the chart.
@greptile-apps

greptile-apps Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR improves CI run coordination and GitHub issue/PR automation.

  • Cancels superseded Build runs for the same pull request while preserving push runs.
  • Recovers the triggering issue when its template label was dropped because the label did not yet exist.
  • Serializes report workflows and updates a marker-owned bot comment instead of creating repeated PR comments.
  • Adds an explicit fallback message when valgrind chart data cannot be parsed.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Adds pull-request-scoped concurrency while assigning unique groups to push runs.
.github/workflows/issue-triage.yml Tracks label creation and reapplies needs triage to the triggering issue when GitHub previously dropped that template label.
.github/workflows/pr-comment.yml Serializes same-branch report runs, upserts a bot-owned marker comment, and emits an explicit unavailable-chart note for malformed valgrind logs.

Reviews (4): Last reviewed commit: "ci: serialize report runs so the sticky ..." | Re-trigger Greptile

Comment thread .github/workflows/issue-triage.yml Outdated
Comment thread .github/workflows/pr-comment.yml
Comment thread .github/workflows/pr-comment.yml
@github-actions

Copy link
Copy Markdown

Valgrind Memory Checks - PASSED

pie showData
    title Test binaries under Valgrind (28 total)
    "Clean" : 28
    "Leaking" : 0
Loading
Full valgrind output (last 300 lines)
test result_extern_remainder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/strings_extern_unit-d6b7ae73af04ca75

running 9 tests
test bool_extern ... ok
test boxing_roundtrips ... ok
test char_conversions ... ok
test string_containment ... ok
test string_equality ... ok
test string_from_owned_cstr_frees_input ... ok
test string_from_value_roundtrip ... ok
test string_parsing ... ok
test string_scalar_ops ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_drivers_unit-81664060e3d2ebc2

running 5 tests
test mysql_driver ... ok
test postgres_column_types ... ok
test postgres_connect_failure ... ok
test postgres_driver ... ok
test unsupported_scheme_is_error ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collections_unit-687ba3cbf5c5edd9

running 4 tests
test list_display_contains_elements ... ok
test list_push_pop_length ... ok
test map_insert_get_remove_contains ... ok
test set_add_remove_contains ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collection_cow_unit-1ac8e002687a508e

running 10 tests
test list_mutation_on_shared_value_is_in_place ... ok
test list_pop_back_and_front_return_ends ... ok
test list_pop_on_empty_returns_none ... ok
test list_push_back_builds_in_order_when_uniquely_owned ... ok
test list_push_front_prepends ... ok
test list_set_value_overwrites_and_extends ... ok
test map_put_and_remove_uniquely_owned ... ok
test map_put_on_shared_value_is_in_place ... ok
test set_add_and_remove_uniquely_owned ... ok
test set_add_on_shared_value_is_in_place ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/datetime_unit-6453868abfd11113

running 4 tests
test fields_at_epoch ... ok
test format_utc ... ok
test invalid_inputs_are_errors ... ok
test now_and_sleep_validation ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/random_unit-6bb13aab442159ba

running 4 tests
test bool_callable ... ok
test float_within_unit_interval ... ok
test int_within_range ... ok
test range_bounds ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/containers_extern_unit-7e147208f23336ef

running 8 tests
test list_box_layer ... ok
test list_box_pop_front_and_empty ... ok
test list_value_layer ... ok
test map_box_layer ... ok
test map_value_layer ... ok
test set_box_layer ... ok
test set_value_layer ... ok
test tuple_ops ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/closure_unit-8ba40e7da9e59345

running 5 tests
test capture_free_release_frees_closure ... ok
test release_drops_one_reference_per_capture ... ok
test retain_and_release_are_null_safe ... ok
test retain_delays_free_until_last_release ... ok
test shared_closure_frees_capture_only_on_last_release ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_extra_unit-dce6ef1ffed41ff8

running 3 tests
test open_missing_and_null ... ok
test open_read_close_file ... ok
test value_from_string_and_prints ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sync_unit-59f72309152ad3c4

running 7 tests
test condvar_signal_broadcast ... ok
test mutex_lock_unlock ... ok
test null_handles_error ... ok
test rwlock_read_and_write ... ok
test sleep_is_noop_for_nonpositive ... ok
test spawn_and_detach ... ok
test spawn_and_join ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/value_unit-b546115ef26bed52

running 14 tests
test empty_collection_display ... ok
test map_set_hash_and_order ... ok
test object_value_display_debug_and_compare ... ok
test optional_and_result_hash ... ok
test tuple_hash_and_compare ... ok
test type_tags_for_all_variants ... ok
test value_display_composites ... ok
test value_display_scalars ... ok
test value_equality_and_ordering ... ok
test value_equality_same_variant_data ... ok
test value_from_string ... ok
test value_hash_consistent ... ok
test value_ordering_across_many_variants ... ok
test value_type_tags ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/panic_unit-712fe1269566f68d

running 5 tests
test assert_failure_panics ... ok
test cstr_with_location_panics ... ok
test cstr_without_location_omits_locator ... ok
test index_oob_panics ... ok
test key_not_found_panics ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/math_unit-7a443c929beee645

running 5 tests
test extern_helpers ... ok
test logarithms ... ok
test powers_and_roots ... ok
test rounding_and_extremes ... ok
test trigonometry ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_unit-8a5cc9142515ca74

running 4 tests
test file_lifecycle_and_dir_listing ... ok
test null_paths_are_errors ... ok
test path_helpers ... ok
test read_missing_file_is_error ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/boxed_enum_unit-aa12cbc485aa7d64

running 5 tests
test box_enum_managed_roundtrips_and_tags_as_opaque ... ok
test clone_and_drop_run_the_glue ... ok
test deep_clone_runs_the_clone_glue ... ok
test value_boxed_enum_structural_eq_ord_hash_display ... ok
test value_compare_ffi_orders_and_handles_null ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/csv_unit-2f2c7cc230c6b6ef

running 5 tests
test parse_null_is_error ... ok
test parse_plain_csv ... ok
test parse_with_headers ... ok
test to_string_rejects_non_map ... ok
test to_string_roundtrip ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_unit-70f116e1e4ce1891

running 7 tests
test bad_uri_is_error ... ok
test connect_execute_query_lifecycle ... ok
test null_value_accessors_error ... ok
test query_params_and_errors ... ok
test sql_value_bytes_and_type_errors ... ok
test sql_value_constructors_and_accessors ... ok
test transaction_commit_and_rollback ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_convert_unit-0079bc0728a64729

running 6 tests
test json_from_and_to_map_extern ... ok
test json_parse_extern ... ok
test json_stringify_extern ... ok
test json_to_value_roundtrip ... ok
test value_to_json_error_cases ... ok
test value_to_json_scalars_and_collections ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/option_result_unit-3fab8320d450784e

running 4 tests
test optional_core ... ok
test optional_extern_roundtrip ... ok
test result_core ... ok
test result_extern_roundtrip ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/mux_runtime-aa83e69a98bca408

running 14 tests
test refcount::tests::rc_leak_message_none_when_balanced ... ok
test refcount::tests::rc_leak_message_reports_leaked_blocks ... ok
test refcount::tests::rc_leak_message_reports_negative_imbalance ... ok
test refcount::tests::test_alloc_and_free ... ok
test refcount::tests::test_clone ... ok
test refcount::tests::test_deep_clone_list_is_isolated ... ok
test refcount::tests::test_deep_clone_nested_list ... ok
test refcount::tests::test_deep_clone_object_uses_copy_callback ... ok
test refcount::tests::test_deep_clone_primitives ... ok
test refcount::tests::test_inc_dec_cycle ... ok
test refcount::tests::test_list_cleanup ... ok
test refcount::tests::test_nested_collections ... ok
test refcount::tests::test_null_safety ... ok
test refcount::tests::test_string_cleanup ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/assert_unit-e1668f07901067c2

running 4 tests
test boolean_asserts_pass ... ok
test eq_ne_asserts_pass ... ok
test optional_asserts_pass ... ok
test result_asserts_pass ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/primitives_unit-44815d72a291ce0d

running 10 tests
test bool_convert_and_display ... ok
test float_arithmetic_and_rounding ... ok
test float_compare_and_convert ... ok
test float_extern_scalars ... ok
test int_arithmetic ... ok
test int_compare_and_convert ... ok
test int_div_and_rem_by_zero ... ok
test int_extern_scalars ... ok
test string_ops ... ok
test string_parse ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/std_unit-5b843f912e73b0e7

running 7 tests
test container_alloc_and_free ... ok
test int_and_bool_value_roundtrip ... ok
test range_into_list_value ... ok
test value_add_numbers_and_strings ... ok
test value_equality ... ok
test value_get_list_from_value ... ok
test value_to_string_scalar ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/object_unit-e44959a6b6531a5e

running 3 tests
test copy_without_callback_returns_null ... ok
test invalid_inputs ... ok
test register_alloc_access_copy_free ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

Benchmarks (report-only) - report-only

Informational only - shared runners are too noisy to gate on; full data is in the run artifacts.

xychart-beta
    title "Hot paths under 1 us (median)"
    x-axis ["refcount", "primitive", "map", "string", "wrappers"]
    y-axis "nanoseconds"
    bar [4.64, 3.58, 78.13, 48.31, 34.89]
Loading
xychart-beta
    title "Hot paths 1 us and up (median)"
    x-axis ["list", "set", "json"]
    y-axis "microseconds"
    bar [7.832, 19.4, 3.669]
Loading
Group Median Samples
refcount 4.64 ns 3
primitive 3.58 ns 4
list 7.83 us 5
map 78.1 ns 3
set 19.4 us 3
string 48.3 ns 4
wrappers 34.9 ns 5
json 3.67 us 3
Full benchmark output (last 300 lines)
�[1m�[92m   Compiling�[0m derive_utils v0.15.1
�[1m�[92m   Compiling�[0m btoi v0.5.0
�[1m�[92m   Compiling�[0m whoami v2.1.2
�[1m�[92m   Compiling�[0m anstyle v1.0.14
�[1m�[92m   Compiling�[0m uuid v1.23.4
�[1m�[92m   Compiling�[0m subtle v2.6.1
�[1m�[92m   Compiling�[0m httparse v1.10.1
�[1m�[92m   Compiling�[0m clap_lex v1.1.0
�[1m�[92m   Compiling�[0m plotters-backend v0.3.7
�[1m�[92m   Compiling�[0m mysql v28.0.0
�[1m�[92m   Compiling�[0m paste v1.0.15
�[1m�[92m   Compiling�[0m saturating v0.1.0
�[1m�[92m   Compiling�[0m ciborium-io v0.2.2
�[1m�[92m   Compiling�[0m ciborium-ll v0.2.2
�[1m�[92m   Compiling�[0m plotters-svg v0.3.7
�[1m�[92m   Compiling�[0m clap_builder v4.6.0
�[1m�[92m   Compiling�[0m tokio-postgres v0.7.18
�[1m�[92m   Compiling�[0m io-enum v1.2.1
�[1m�[92m   Compiling�[0m webpki-roots v0.26.11
�[1m�[92m   Compiling�[0m hashlink v0.9.1
�[1m�[92m   Compiling�[0m itertools v0.10.5
�[1m�[92m   Compiling�[0m crossbeam-queue v0.3.12
�[1m�[92m   Compiling�[0m pem v3.0.6
�[1m�[92m   Compiling�[0m csv-core v0.1.13
�[1m�[92m   Compiling�[0m fallible-iterator v0.3.0
�[1m�[92m   Compiling�[0m twox-hash v2.1.2
�[1m�[92m   Compiling�[0m iana-time-zone v0.1.65
�[1m�[92m   Compiling�[0m ryu v1.0.23
�[1m�[92m   Compiling�[0m fallible-streaming-iterator v0.1.9
�[1m�[92m   Compiling�[0m bufstream v0.1.4
�[1m�[92m   Compiling�[0m same-file v1.0.6
�[1m�[92m   Compiling�[0m lru v0.16.4
�[1m�[92m   Compiling�[0m cast v0.3.0
�[1m�[92m   Compiling�[0m criterion-plot v0.5.0
�[1m�[92m   Compiling�[0m walkdir v2.5.0
�[1m�[92m   Compiling�[0m csv v1.4.0
�[1m�[92m   Compiling�[0m chrono v0.4.45
�[1m�[92m   Compiling�[0m rayon v1.12.0
�[1m�[92m   Compiling�[0m postgres v0.19.14
�[1m�[92m   Compiling�[0m ureq v2.12.1
�[1m�[92m   Compiling�[0m clap v4.6.1
�[1m�[92m   Compiling�[0m plotters v0.3.7
�[1m�[92m   Compiling�[0m ciborium v0.2.2
�[1m�[92m   Compiling�[0m tinytemplate v1.2.1
�[1m�[92m   Compiling�[0m ordered-float v4.6.0
�[1m�[92m   Compiling�[0m is-terminal v0.4.17
�[1m�[92m   Compiling�[0m oorandom v11.1.5
�[1m�[92m   Compiling�[0m anes v0.1.6
�[1m�[92m   Compiling�[0m lazy_static v1.5.0
�[1m�[92m   Compiling�[0m criterion v0.5.1
�[1m�[92m   Compiling�[0m rusqlite v0.31.0
�[1m�[92m   Compiling�[0m mux-runtime v0.5.0 (/home/runner/work/mux-runtime/mux-runtime)
�[1m�[92m    Finished�[0m `bench` profile [optimized] target(s) in 1m 50s
�[1m�[92m     Running�[0m benches/hot_paths.rs (target/release/deps/hot_paths-f07f5ef8fb852473)
Gnuplot not found, using plotters backend
Benchmarking refcount/alloc_free
Benchmarking refcount/alloc_free: Warming up for 300.00 ms
Benchmarking refcount/alloc_free: Collecting 50 samples in estimated 1.5000 s (69M iterations)
Benchmarking refcount/alloc_free: Analyzing
refcount/alloc_free     time:   [25.471 ns 28.004 ns 31.305 ns]
Found 6 outliers among 50 measurements (12.00%)
  6 (12.00%) high mild
Benchmarking refcount/inc_dec
Benchmarking refcount/inc_dec: Warming up for 300.00 ms
Benchmarking refcount/inc_dec: Collecting 50 samples in estimated 1.5000 s (324M iterations)
Benchmarking refcount/inc_dec: Analyzing
refcount/inc_dec        time:   [4.6332 ns 4.6402 ns 4.6471 ns]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) low severe
  1 (2.00%) low mild
  2 (4.00%) high mild
Benchmarking refcount/clone
Benchmarking refcount/clone: Warming up for 300.00 ms
Benchmarking refcount/clone: Collecting 50 samples in estimated 1.5000 s (327M iterations)
Benchmarking refcount/clone: Analyzing
refcount/clone          time:   [4.5597 ns 4.5738 ns 4.5860 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high mild

Benchmarking primitive/int_add
Benchmarking primitive/int_add: Warming up for 300.00 ms
Benchmarking primitive/int_add: Collecting 50 samples in estimated 1.5000 s (963M iterations)
Benchmarking primitive/int_add: Analyzing
primitive/int_add       time:   [1.5563 ns 1.5647 ns 1.5767 ns]
Found 6 outliers among 50 measurements (12.00%)
  2 (4.00%) high mild
  4 (8.00%) high severe
Benchmarking primitive/int_pow
Benchmarking primitive/int_pow: Warming up for 300.00 ms
Benchmarking primitive/int_pow: Collecting 50 samples in estimated 1.5000 s (283M iterations)
Benchmarking primitive/int_pow: Analyzing
primitive/int_pow       time:   [5.2913 ns 5.2942 ns 5.2974 ns]
Found 4 outliers among 50 measurements (8.00%)
  4 (8.00%) high severe
Benchmarking primitive/float_mul
Benchmarking primitive/float_mul: Warming up for 300.00 ms
Benchmarking primitive/float_mul: Collecting 50 samples in estimated 1.5000 s (802M iterations)
Benchmarking primitive/float_mul: Analyzing
primitive/float_mul     time:   [1.8689 ns 1.8699 ns 1.8710 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking primitive/int_to_string
Benchmarking primitive/int_to_string: Warming up for 300.00 ms
Benchmarking primitive/int_to_string: Collecting 50 samples in estimated 1.5000 s (20M iterations)
Benchmarking primitive/int_to_string: Analyzing
primitive/int_to_string time:   [73.387 ns 73.473 ns 73.563 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe

Benchmarking list/build_free
Benchmarking list/build_free: Warming up for 300.00 ms
Benchmarking list/build_free: Collecting 50 samples in estimated 1.5009 s (196k iterations)
Benchmarking list/build_free: Analyzing
list/build_free         time:   [7.8265 µs 7.8312 µs 7.8365 µs]
Found 5 outliers among 50 measurements (10.00%)
  3 (6.00%) high mild
  2 (4.00%) high severe
Benchmarking list/get
Benchmarking list/get: Warming up for 300.00 ms
Benchmarking list/get: Collecting 50 samples in estimated 1.5000 s (41M iterations)
Benchmarking list/get: Analyzing
list/get                time:   [38.210 ns 39.260 ns 40.449 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking list/contains
Benchmarking list/contains: Warming up for 300.00 ms
Benchmarking list/contains: Collecting 50 samples in estimated 1.5004 s (4.1M iterations)
Benchmarking list/contains: Analyzing
list/contains           time:   [369.37 ns 372.99 ns 379.13 ns]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) high mild
  5 (10.00%) high severe
Benchmarking list/concat
Benchmarking list/concat: Warming up for 300.00 ms
Benchmarking list/concat: Collecting 50 samples in estimated 1.5052 s (158k iterations)
Benchmarking list/concat: Analyzing
list/concat             time:   [9.1346 µs 9.1582 µs 9.1986 µs]
Found 7 outliers among 50 measurements (14.00%)
  1 (2.00%) high mild
  6 (12.00%) high severe
Benchmarking list/to_string
Benchmarking list/to_string: Warming up for 300.00 ms
Benchmarking list/to_string: Collecting 50 samples in estimated 1.5122 s (83k iterations)
Benchmarking list/to_string: Analyzing
list/to_string          time:   [18.094 µs 18.120 µs 18.153 µs]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe

Benchmarking map/build_free
Benchmarking map/build_free: Warming up for 300.00 ms
Benchmarking map/build_free: Collecting 50 samples in estimated 1.5312 s (40k iterations)
Benchmarking map/build_free: Analyzing
map/build_free          time:   [37.994 µs 38.019 µs 38.048 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking map/get
Benchmarking map/get: Warming up for 300.00 ms
Benchmarking map/get: Collecting 50 samples in estimated 1.5001 s (19M iterations)
Benchmarking map/get: Analyzing
map/get                 time:   [78.185 ns 78.264 ns 78.340 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking map/contains
Benchmarking map/contains: Warming up for 300.00 ms
Benchmarking map/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking map/contains: Analyzing
map/contains            time:   [39.214 ns 39.248 ns 39.292 ns]
Found 5 outliers among 50 measurements (10.00%)
  2 (4.00%) high mild
  3 (6.00%) high severe

Benchmarking set/build_free
Benchmarking set/build_free: Warming up for 300.00 ms
Benchmarking set/build_free: Collecting 50 samples in estimated 1.5114 s (51k iterations)
Benchmarking set/build_free: Analyzing
set/build_free          time:   [30.589 µs 30.706 µs 30.819 µs]
Found 8 outliers among 50 measurements (16.00%)
  6 (12.00%) high mild
  2 (4.00%) high severe
Benchmarking set/contains
Benchmarking set/contains: Warming up for 300.00 ms
Benchmarking set/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking set/contains: Analyzing
set/contains            time:   [39.229 ns 39.258 ns 39.296 ns]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe
Benchmarking set/union
Benchmarking set/union: Warming up for 300.00 ms
Benchmarking set/union: Collecting 50 samples in estimated 1.5098 s (78k iterations)
Benchmarking set/union: Analyzing
set/union               time:   [19.376 µs 19.397 µs 19.424 µs]
Found 5 outliers among 50 measurements (10.00%)
  3 (6.00%) high mild
  2 (4.00%) high severe

Benchmarking string/alloc_free
Benchmarking string/alloc_free: Warming up for 300.00 ms
Benchmarking string/alloc_free: Collecting 50 samples in estimated 1.5001 s (25M iterations)
Benchmarking string/alloc_free: Analyzing
string/alloc_free       time:   [58.108 ns 58.260 ns 58.458 ns]
Found 7 outliers among 50 measurements (14.00%)
  7 (14.00%) high severe
Benchmarking string/concat
Benchmarking string/concat: Warming up for 300.00 ms
Benchmarking string/concat: Collecting 50 samples in estimated 1.5001 s (10.0M iterations)
Benchmarking string/concat: Analyzing
string/concat           time:   [150.30 ns 150.59 ns 150.91 ns]
Found 3 outliers among 50 measurements (6.00%)
  2 (4.00%) high mild
  1 (2.00%) high severe
Benchmarking string/length
Benchmarking string/length: Warming up for 300.00 ms
Benchmarking string/length: Collecting 50 samples in estimated 1.5000 s (39M iterations)
Benchmarking string/length: Analyzing
string/length           time:   [38.525 ns 38.733 ns 38.901 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking string/equal
Benchmarking string/equal: Warming up for 300.00 ms
Benchmarking string/equal: Collecting 50 samples in estimated 1.5000 s (185M iterations)
Benchmarking string/equal: Analyzing
string/equal            time:   [8.0957 ns 8.0996 ns 8.1048 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe

Benchmarking wrappers/optional_some
Benchmarking wrappers/optional_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_some: Collecting 50 samples in estimated 1.5000 s (43M iterations)
Benchmarking wrappers/optional_some: Analyzing
wrappers/optional_some  time:   [37.425 ns 37.930 ns 38.837 ns]
Found 7 outliers among 50 measurements (14.00%)
  1 (2.00%) high mild
  6 (12.00%) high severe
Benchmarking wrappers/result_ok
Benchmarking wrappers/result_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_ok: Collecting 50 samples in estimated 1.5000 s (41M iterations)
Benchmarking wrappers/result_ok: Analyzing
wrappers/result_ok      time:   [34.899 ns 35.058 ns 35.343 ns]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) high mild
  3 (6.00%) high severe
Benchmarking wrappers/tuple_new
Benchmarking wrappers/tuple_new: Warming up for 300.00 ms
Benchmarking wrappers/tuple_new: Collecting 50 samples in estimated 1.5001 s (17M iterations)
Benchmarking wrappers/tuple_new: Analyzing
wrappers/tuple_new      time:   [85.718 ns 85.794 ns 85.890 ns]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) high mild
  5 (10.00%) high severe
Benchmarking wrappers/optional_is_some
Benchmarking wrappers/optional_is_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_is_some: Collecting 50 samples in estimated 1.5000 s (314M iterations)
Benchmarking wrappers/optional_is_some: Analyzing
wrappers/optional_is_some
                        time:   [4.7458 ns 4.7661 ns 4.8020 ns]
Found 7 outliers among 50 measurements (14.00%)
  1 (2.00%) low severe
  1 (2.00%) low mild
  1 (2.00%) high mild
  4 (8.00%) high severe
Benchmarking wrappers/result_is_ok
Benchmarking wrappers/result_is_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_is_ok: Collecting 50 samples in estimated 1.5000 s (963M iterations)
Benchmarking wrappers/result_is_ok: Analyzing
wrappers/result_is_ok   time:   [1.8856 ns 2.0547 ns 2.2277 ns]

Benchmarking json/parse_small
Benchmarking json/parse_small: Warming up for 300.00 ms
Benchmarking json/parse_small: Collecting 50 samples in estimated 1.5011 s (1.4M iterations)
Benchmarking json/parse_small: Analyzing
json/parse_small        time:   [1.0617 µs 1.0625 µs 1.0635 µs]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) high mild
  3 (6.00%) high severe
Benchmarking json/parse_medium
Benchmarking json/parse_medium: Warming up for 300.00 ms
Benchmarking json/parse_medium: Collecting 50 samples in estimated 1.5015 s (411k iterations)
Benchmarking json/parse_medium: Analyzing
json/parse_medium       time:   [3.6686 µs 3.6756 µs 3.6838 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking json/stringify
Benchmarking json/stringify: Warming up for 300.00 ms
Benchmarking json/stringify: Collecting 50 samples in estimated 1.5026 s (79k iterations)
Benchmarking json/stringify: Analyzing
json/stringify          time:   [18.639 µs 18.647 µs 18.656 µs]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe

Commit 6647fe26b877d07e5d64548e9127c36c9041b969 - full run

Review catch. Dropping the unconditional apply left one real gap: when `needs
triage` does not exist yet, GitHub silently drops it from the opening issue's
template frontmatter, and `ensureLabel` creating the label afterwards does not
retroactively label the issue that triggered the run. That issue would sit
outside triage until labelled by hand.

Restoring the unconditional apply would undo the point of the change, so apply
it only on the run that actually created the label - the exact case where the
template's request was already dropped. `ensureLabel` now reports whether it
created the label; every later issue gets the label from its own template.
@github-actions

Copy link
Copy Markdown

Valgrind Memory Checks - PASSED

pie showData
    title Test binaries under Valgrind (28 total)
    "Clean" : 28
    "Leaking" : 0
Loading
Full valgrind output (last 300 lines)
test list_index_and_slice ... ok
test some_none_ok_err_wrappers ... ok
test unbox_enum_rejects_null_and_non_opaque ... ok
test unbox_enum_roundtrips_payload ... ok
test value_map_get_value_reads_without_cloning_whole_map ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/primitives_unit-44815d72a291ce0d

running 10 tests
test bool_convert_and_display ... ok
test float_arithmetic_and_rounding ... ok
test float_compare_and_convert ... ok
test float_extern_scalars ... ok
test int_arithmetic ... ok
test int_compare_and_convert ... ok
test int_div_and_rem_by_zero ... ok
test int_extern_scalars ... ok
test string_ops ... ok
test string_parse ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/datetime_unit-6453868abfd11113

running 4 tests
test fields_at_epoch ... ok
test format_utc ... ok
test invalid_inputs_are_errors ... ok
test now_and_sleep_validation ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_convert_unit-0079bc0728a64729

running 6 tests
test json_from_and_to_map_extern ... ok
test json_parse_extern ... ok
test json_stringify_extern ... ok
test json_to_value_roundtrip ... ok
test value_to_json_error_cases ... ok
test value_to_json_scalars_and_collections ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/panic_unit-712fe1269566f68d

running 5 tests
test assert_failure_panics ... ok
test cstr_with_location_panics ... ok
test cstr_without_location_omits_locator ... ok
test index_oob_panics ... ok
test key_not_found_panics ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_extra_unit-dce6ef1ffed41ff8

running 3 tests
test open_missing_and_null ... ok
test open_read_close_file ... ok
test value_from_string_and_prints ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_unit-622f07969f6587a8

running 6 tests
test parse_handles_escapes ... ok
test parse_primitives ... ok
test parse_rejects_malformed ... ok
test parse_strings_arrays_objects ... ok
test pretty_indent ... ok
test stringify_roundtrip ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/strings_extern_unit-d6b7ae73af04ca75

running 9 tests
test bool_extern ... ok
test boxing_roundtrips ... ok
test char_conversions ... ok
test string_containment ... ok
test string_equality ... ok
test string_from_owned_cstr_frees_input ... ok
test string_from_value_roundtrip ... ok
test string_parsing ... ok
test string_scalar_ops ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/random_unit-6bb13aab442159ba

running 4 tests
test bool_callable ... ok
test float_within_unit_interval ... ok
test int_within_range ... ok
test range_bounds ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/assert_unit-e1668f07901067c2

running 4 tests
test boolean_asserts_pass ... ok
test eq_ne_asserts_pass ... ok
test optional_asserts_pass ... ok
test result_asserts_pass ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/extern_extras_unit-1abe060784c465b6

running 4 tests
test float_extern_remainder ... ok
test int_extern_remainder ... ok
test optional_extern_remainder ... ok
test result_extern_remainder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/object_unit-e44959a6b6531a5e

running 3 tests
test copy_without_callback_returns_null ... ok
test invalid_inputs ... ok
test register_alloc_access_copy_free ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/value_unit-b546115ef26bed52

running 14 tests
test empty_collection_display ... ok
test map_set_hash_and_order ... ok
test object_value_display_debug_and_compare ... ok
test optional_and_result_hash ... ok
test tuple_hash_and_compare ... ok
test type_tags_for_all_variants ... ok
test value_display_composites ... ok
test value_display_scalars ... ok
test value_equality_and_ordering ... ok
test value_equality_same_variant_data ... ok
test value_from_string ... ok
test value_hash_consistent ... ok
test value_ordering_across_many_variants ... ok
test value_type_tags ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_unit-8a5cc9142515ca74

running 4 tests
test file_lifecycle_and_dir_listing ... ok
test null_paths_are_errors ... ok
test path_helpers ... ok
test read_missing_file_is_error ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/boxed_enum_unit-aa12cbc485aa7d64

running 5 tests
test box_enum_managed_roundtrips_and_tags_as_opaque ... ok
test clone_and_drop_run_the_glue ... ok
test deep_clone_runs_the_clone_glue ... ok
test value_boxed_enum_structural_eq_ord_hash_display ... ok
test value_compare_ffi_orders_and_handles_null ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/containers_extern_unit-7e147208f23336ef

running 8 tests
test list_box_layer ... ok
test list_box_pop_front_and_empty ... ok
test list_value_layer ... ok
test map_box_layer ... ok
test map_value_layer ... ok
test set_box_layer ... ok
test set_value_layer ... ok
test tuple_ops ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/csv_unit-2f2c7cc230c6b6ef

running 5 tests
test parse_null_is_error ... ok
test parse_plain_csv ... ok
test parse_with_headers ... ok
test to_string_rejects_non_map ... ok
test to_string_roundtrip ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/std_unit-5b843f912e73b0e7

running 7 tests
test container_alloc_and_free ... ok
test int_and_bool_value_roundtrip ... ok
test range_into_list_value ... ok
test value_add_numbers_and_strings ... ok
test value_equality ... ok
test value_get_list_from_value ... ok
test value_to_string_scalar ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_unit-70f116e1e4ce1891

running 7 tests
test bad_uri_is_error ... ok
test connect_execute_query_lifecycle ... ok
test null_value_accessors_error ... ok
test query_params_and_errors ... ok
test sql_value_bytes_and_type_errors ... ok
test sql_value_constructors_and_accessors ... ok
test transaction_commit_and_rollback ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/mux_runtime-aa83e69a98bca408

running 14 tests
test refcount::tests::rc_leak_message_none_when_balanced ... ok
test refcount::tests::rc_leak_message_reports_leaked_blocks ... ok
test refcount::tests::rc_leak_message_reports_negative_imbalance ... ok
test refcount::tests::test_alloc_and_free ... ok
test refcount::tests::test_clone ... ok
test refcount::tests::test_deep_clone_list_is_isolated ... ok
test refcount::tests::test_deep_clone_nested_list ... ok
test refcount::tests::test_deep_clone_object_uses_copy_callback ... ok
test refcount::tests::test_deep_clone_primitives ... ok
test refcount::tests::test_inc_dec_cycle ... ok
test refcount::tests::test_list_cleanup ... ok
test refcount::tests::test_nested_collections ... ok
test refcount::tests::test_null_safety ... ok
test refcount::tests::test_string_cleanup ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sync_unit-59f72309152ad3c4

running 7 tests
test condvar_signal_broadcast ... ok
test mutex_lock_unlock ... ok
test null_handles_error ... ok
test rwlock_read_and_write ... ok
test sleep_is_noop_for_nonpositive ... ok
test spawn_and_detach ... ok
test spawn_and_join ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_drivers_unit-81664060e3d2ebc2

running 5 tests
test mysql_driver ... ok
test postgres_column_types ... ok
test postgres_connect_failure ... ok
test postgres_driver ... ok
test unsupported_scheme_is_error ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collection_cow_unit-1ac8e002687a508e

running 10 tests
test list_mutation_on_shared_value_is_in_place ... ok
test list_pop_back_and_front_return_ends ... ok
test list_pop_on_empty_returns_none ... ok
test list_push_back_builds_in_order_when_uniquely_owned ... ok
test list_push_front_prepends ... ok
test list_set_value_overwrites_and_extends ... ok
test map_put_and_remove_uniquely_owned ... ok
test map_put_on_shared_value_is_in_place ... ok
test set_add_and_remove_uniquely_owned ... ok
test set_add_on_shared_value_is_in_place ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/net_unit-44b88fefd4afb6a4

running 10 tests
test http_client_against_local_server ... ok
test http_null_inputs_error ... ok
test http_read_request_body_without_content_length_errors ... ok
test http_request_errors ... ok
test http_request_response_loopback ... ok
test http_response_validation_and_udp_extras ... ok
test invalid_addresses_error ... ok
test invalid_read_size_errors ... ok
test tcp_roundtrip ... ok
test udp_roundtrip ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s

Benchmarks (report-only) - report-only

Informational only - shared runners are too noisy to gate on; full data is in the run artifacts.

xychart-beta
    title "Hot paths under 1 us (median)"
    x-axis ["refcount", "primitive", "map", "string", "wrappers"]
    y-axis "nanoseconds"
    bar [5.203, 3.78, 75.87, 50.55, 35.52]
Loading
xychart-beta
    title "Hot paths 1 us and up (median)"
    x-axis ["list", "set", "json"]
    y-axis "microseconds"
    bar [4.945, 19.09, 4.003]
Loading
Group Median Samples
refcount 5.2 ns 3
primitive 3.78 ns 4
list 4.95 us 5
map 75.9 ns 3
set 19.1 us 3
string 50.5 ns 4
wrappers 35.5 ns 5
json 4 us 3
Full benchmark output (last 300 lines)
�[1m�[92m   Compiling�[0m saturating v0.1.0
�[1m�[92m   Compiling�[0m httparse v1.10.1
�[1m�[92m   Compiling�[0m subtle v2.6.1
�[1m�[92m   Compiling�[0m uuid v1.23.4
�[1m�[92m   Compiling�[0m ciborium-io v0.2.2
�[1m�[92m   Compiling�[0m anstyle v1.0.14
�[1m�[92m   Compiling�[0m plotters-backend v0.3.7
�[1m�[92m   Compiling�[0m clap_lex v1.1.0
�[1m�[92m   Compiling�[0m paste v1.0.15
�[1m�[92m   Compiling�[0m mysql v28.0.0
�[1m�[92m   Compiling�[0m clap_builder v4.6.0
�[1m�[92m   Compiling�[0m plotters-svg v0.3.7
�[1m�[92m   Compiling�[0m ciborium-ll v0.2.2
�[1m�[92m   Compiling�[0m tokio-postgres v0.7.18
�[1m�[92m   Compiling�[0m io-enum v1.2.1
�[1m�[92m   Compiling�[0m webpki-roots v0.26.11
�[1m�[92m   Compiling�[0m hashlink v0.9.1
�[1m�[92m   Compiling�[0m itertools v0.10.5
�[1m�[92m   Compiling�[0m crossbeam-queue v0.3.12
�[1m�[92m   Compiling�[0m pem v3.0.6
�[1m�[92m   Compiling�[0m csv-core v0.1.13
�[1m�[92m   Compiling�[0m bufstream v0.1.4
�[1m�[92m   Compiling�[0m lru v0.16.4
�[1m�[92m   Compiling�[0m iana-time-zone v0.1.65
�[1m�[92m   Compiling�[0m fallible-iterator v0.3.0
�[1m�[92m   Compiling�[0m same-file v1.0.6
�[1m�[92m   Compiling�[0m fallible-streaming-iterator v0.1.9
�[1m�[92m   Compiling�[0m ryu v1.0.23
�[1m�[92m   Compiling�[0m cast v0.3.0
�[1m�[92m   Compiling�[0m twox-hash v2.1.2
�[1m�[92m   Compiling�[0m criterion-plot v0.5.0
�[1m�[92m   Compiling�[0m csv v1.4.0
�[1m�[92m   Compiling�[0m walkdir v2.5.0
�[1m�[92m   Compiling�[0m chrono v0.4.45
�[1m�[92m   Compiling�[0m rayon v1.12.0
�[1m�[92m   Compiling�[0m postgres v0.19.14
�[1m�[92m   Compiling�[0m ureq v2.12.1
�[1m�[92m   Compiling�[0m clap v4.6.1
�[1m�[92m   Compiling�[0m ciborium v0.2.2
�[1m�[92m   Compiling�[0m plotters v0.3.7
�[1m�[92m   Compiling�[0m tinytemplate v1.2.1
�[1m�[92m   Compiling�[0m ordered-float v4.6.0
�[1m�[92m   Compiling�[0m is-terminal v0.4.17
�[1m�[92m   Compiling�[0m lazy_static v1.5.0
�[1m�[92m   Compiling�[0m oorandom v11.1.5
�[1m�[92m   Compiling�[0m anes v0.1.6
�[1m�[92m   Compiling�[0m criterion v0.5.1
�[1m�[92m   Compiling�[0m rusqlite v0.31.0
�[1m�[92m   Compiling�[0m mux-runtime v0.5.0 (/home/runner/work/mux-runtime/mux-runtime)
�[1m�[92m    Finished�[0m `bench` profile [optimized] target(s) in 1m 41s
�[1m�[92m     Running�[0m benches/hot_paths.rs (target/release/deps/hot_paths-f07f5ef8fb852473)
Gnuplot not found, using plotters backend
Benchmarking refcount/alloc_free
Benchmarking refcount/alloc_free: Warming up for 300.00 ms
Benchmarking refcount/alloc_free: Collecting 50 samples in estimated 1.5000 s (69M iterations)
Benchmarking refcount/alloc_free: Analyzing
refcount/alloc_free     time:   [21.814 ns 21.829 ns 21.848 ns]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) high mild
  5 (10.00%) high severe
Benchmarking refcount/inc_dec
Benchmarking refcount/inc_dec: Warming up for 300.00 ms
Benchmarking refcount/inc_dec: Collecting 50 samples in estimated 1.5000 s (288M iterations)
Benchmarking refcount/inc_dec: Analyzing
refcount/inc_dec        time:   [5.2023 ns 5.2076 ns 5.2135 ns]
Found 4 outliers among 50 measurements (8.00%)
  3 (6.00%) low mild
  1 (2.00%) high mild
Benchmarking refcount/clone
Benchmarking refcount/clone: Warming up for 300.00 ms
Benchmarking refcount/clone: Collecting 50 samples in estimated 1.5000 s (290M iterations)
Benchmarking refcount/clone: Analyzing
refcount/clone          time:   [5.1518 ns 5.1617 ns 5.1718 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe

Benchmarking primitive/int_add
Benchmarking primitive/int_add: Warming up for 300.00 ms
Benchmarking primitive/int_add: Collecting 50 samples in estimated 1.5000 s (853M iterations)
Benchmarking primitive/int_add: Analyzing
primitive/int_add       time:   [1.7574 ns 1.7579 ns 1.7585 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking primitive/int_pow
Benchmarking primitive/int_pow: Warming up for 300.00 ms
Benchmarking primitive/int_pow: Collecting 50 samples in estimated 1.5000 s (258M iterations)
Benchmarking primitive/int_pow: Analyzing
primitive/int_pow       time:   [5.8014 ns 5.8036 ns 5.8061 ns]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) high mild
  5 (10.00%) high severe
Benchmarking primitive/float_mul
Benchmarking primitive/float_mul: Warming up for 300.00 ms
Benchmarking primitive/float_mul: Collecting 50 samples in estimated 1.5000 s (853M iterations)
Benchmarking primitive/float_mul: Analyzing
primitive/float_mul     time:   [1.7578 ns 1.7616 ns 1.7689 ns]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) high mild
  3 (6.00%) high severe
Benchmarking primitive/int_to_string
Benchmarking primitive/int_to_string: Warming up for 300.00 ms
Benchmarking primitive/int_to_string: Collecting 50 samples in estimated 1.5001 s (21M iterations)
Benchmarking primitive/int_to_string: Analyzing
primitive/int_to_string time:   [71.688 ns 71.746 ns 71.808 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe

Benchmarking list/build_free
Benchmarking list/build_free: Warming up for 300.00 ms
Benchmarking list/build_free: Collecting 50 samples in estimated 1.5085 s (185k iterations)
Benchmarking list/build_free: Analyzing
list/build_free         time:   [8.1632 µs 8.1795 µs 8.1947 µs]
Found 9 outliers among 50 measurements (18.00%)
  4 (8.00%) high mild
  5 (10.00%) high severe
Benchmarking list/get
Benchmarking list/get: Warming up for 300.00 ms
Benchmarking list/get: Collecting 50 samples in estimated 1.5000 s (39M iterations)
Benchmarking list/get: Analyzing
list/get                time:   [38.330 ns 38.349 ns 38.370 ns]
Found 5 outliers among 50 measurements (10.00%)
  2 (4.00%) high mild
  3 (6.00%) high severe
Benchmarking list/contains
Benchmarking list/contains: Warming up for 300.00 ms
Benchmarking list/contains: Collecting 50 samples in estimated 1.5003 s (4.1M iterations)
Benchmarking list/contains: Analyzing
list/contains           time:   [369.56 ns 378.21 ns 387.81 ns]
Found 9 outliers among 50 measurements (18.00%)
  1 (2.00%) high mild
  8 (16.00%) high severe
Benchmarking list/concat
Benchmarking list/concat: Warming up for 300.00 ms
Benchmarking list/concat: Collecting 50 samples in estimated 1.5018 s (303k iterations)
Benchmarking list/concat: Analyzing
list/concat             time:   [4.9452 µs 4.9473 µs 4.9499 µs]
Found 4 outliers among 50 measurements (8.00%)
  3 (6.00%) high mild
  1 (2.00%) high severe
Benchmarking list/to_string
Benchmarking list/to_string: Warming up for 300.00 ms
Benchmarking list/to_string: Collecting 50 samples in estimated 1.5013 s (82k iterations)
Benchmarking list/to_string: Analyzing
list/to_string          time:   [18.496 µs 18.515 µs 18.533 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe

Benchmarking map/build_free
Benchmarking map/build_free: Warming up for 300.00 ms
Benchmarking map/build_free: Collecting 50 samples in estimated 1.5207 s (37k iterations)
Benchmarking map/build_free: Analyzing
map/build_free          time:   [42.077 µs 42.111 µs 42.144 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) low mild
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking map/get
Benchmarking map/get: Warming up for 300.00 ms
Benchmarking map/get: Collecting 50 samples in estimated 1.5001 s (20M iterations)
Benchmarking map/get: Analyzing
map/get                 time:   [75.867 ns 75.942 ns 76.022 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking map/contains
Benchmarking map/contains: Warming up for 300.00 ms
Benchmarking map/contains: Collecting 50 samples in estimated 1.5000 s (40M iterations)
Benchmarking map/contains: Analyzing
map/contains            time:   [37.653 ns 37.698 ns 37.769 ns]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe

Benchmarking set/build_free
Benchmarking set/build_free: Warming up for 300.00 ms
Benchmarking set/build_free: Collecting 50 samples in estimated 1.5019 s (46k iterations)
Benchmarking set/build_free: Analyzing
set/build_free          time:   [32.598 µs 32.670 µs 32.743 µs]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe
Benchmarking set/contains
Benchmarking set/contains: Warming up for 300.00 ms
Benchmarking set/contains: Collecting 50 samples in estimated 1.5000 s (40M iterations)
Benchmarking set/contains: Analyzing
set/contains            time:   [37.962 ns 37.990 ns 38.023 ns]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) high mild
  3 (6.00%) high severe
Benchmarking set/union
Benchmarking set/union: Warming up for 300.00 ms
Benchmarking set/union: Collecting 50 samples in estimated 1.5011 s (78k iterations)
Benchmarking set/union: Analyzing
set/union               time:   [19.286 µs 19.391 µs 19.475 µs]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe

Benchmarking string/alloc_free
Benchmarking string/alloc_free: Warming up for 300.00 ms
Benchmarking string/alloc_free: Collecting 50 samples in estimated 1.5000 s (25M iterations)
Benchmarking string/alloc_free: Analyzing
string/alloc_free       time:   [60.120 ns 60.230 ns 60.364 ns]
Found 6 outliers among 50 measurements (12.00%)
  4 (8.00%) high mild
  2 (4.00%) high severe
Benchmarking string/concat
Benchmarking string/concat: Warming up for 300.00 ms
Benchmarking string/concat: Collecting 50 samples in estimated 1.5000 s (9.7M iterations)
Benchmarking string/concat: Analyzing
string/concat           time:   [154.68 ns 154.96 ns 155.25 ns]
Found 10 outliers among 50 measurements (20.00%)
  4 (8.00%) low mild
  5 (10.00%) high mild
  1 (2.00%) high severe
Benchmarking string/length
Benchmarking string/length: Warming up for 300.00 ms
Benchmarking string/length: Collecting 50 samples in estimated 1.5000 s (37M iterations)
Benchmarking string/length: Analyzing
string/length           time:   [40.739 ns 40.801 ns 40.865 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high mild
Benchmarking string/equal
Benchmarking string/equal: Warming up for 300.00 ms
Benchmarking string/equal: Collecting 50 samples in estimated 1.5000 s (185M iterations)
Benchmarking string/equal: Analyzing
string/equal            time:   [8.0853 ns 8.0872 ns 8.0892 ns]
Found 4 outliers among 50 measurements (8.00%)
  3 (6.00%) high mild
  1 (2.00%) high severe

Benchmarking wrappers/optional_some
Benchmarking wrappers/optional_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_some: Collecting 50 samples in estimated 1.5000 s (42M iterations)
Benchmarking wrappers/optional_some: Analyzing
wrappers/optional_some  time:   [35.518 ns 35.532 ns 35.550 ns]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe
Benchmarking wrappers/result_ok
Benchmarking wrappers/result_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_ok: Collecting 50 samples in estimated 1.5000 s (42M iterations)
Benchmarking wrappers/result_ok: Analyzing
wrappers/result_ok      time:   [35.513 ns 35.529 ns 35.550 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking wrappers/tuple_new
Benchmarking wrappers/tuple_new: Warming up for 300.00 ms
Benchmarking wrappers/tuple_new: Collecting 50 samples in estimated 1.5001 s (17M iterations)
Benchmarking wrappers/tuple_new: Analyzing
wrappers/tuple_new      time:   [88.696 ns 88.731 ns 88.773 ns]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe
Benchmarking wrappers/optional_is_some
Benchmarking wrappers/optional_is_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_is_some: Collecting 50 samples in estimated 1.5000 s (279M iterations)
Benchmarking wrappers/optional_is_some: Analyzing
wrappers/optional_is_some
                        time:   [5.3689 ns 5.3740 ns 5.3785 ns]
Found 5 outliers among 50 measurements (10.00%)
  1 (2.00%) low severe
  2 (4.00%) low mild
  2 (4.00%) high mild
Benchmarking wrappers/result_is_ok
Benchmarking wrappers/result_is_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_is_ok: Collecting 50 samples in estimated 1.5000 s (853M iterations)
Benchmarking wrappers/result_is_ok: Analyzing
wrappers/result_is_ok   time:   [1.7574 ns 1.7636 ns 1.7733 ns]
Found 5 outliers among 50 measurements (10.00%)
  2 (4.00%) high mild
  3 (6.00%) high severe

Benchmarking json/parse_small
Benchmarking json/parse_small: Warming up for 300.00 ms
Benchmarking json/parse_small: Collecting 50 samples in estimated 1.5014 s (1.3M iterations)
Benchmarking json/parse_small: Analyzing
json/parse_small        time:   [1.1124 µs 1.1134 µs 1.1148 µs]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) low mild
  1 (2.00%) high mild
  4 (8.00%) high severe
Benchmarking json/parse_medium
Benchmarking json/parse_medium: Warming up for 300.00 ms
Benchmarking json/parse_medium: Collecting 50 samples in estimated 1.5002 s (381k iterations)
Benchmarking json/parse_medium: Analyzing
json/parse_medium       time:   [4.0030 µs 4.0054 µs 4.0083 µs]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking json/stringify
Benchmarking json/stringify: Warming up for 300.00 ms
Benchmarking json/stringify: Collecting 50 samples in estimated 1.5122 s (84k iterations)
Benchmarking json/stringify: Analyzing
json/stringify          time:   [18.024 µs 18.033 µs 18.042 µs]
Found 3 outliers among 50 measurements (6.00%)
  3 (6.00%) high severe

Commit a117e4188bd33cf20ee5875cef7ef4a185e8a4bb - full run

Two review catches, both real.

Label creation race: when two issues open concurrently before `needs triage`
exists, both runs see it missing, one creates it and the other gets 422. The
losing run returned false and skipped the recovery apply - but its issue also
had the template label dropped, so it stayed outside triage. The meaningful
signal is "the label was absent when this run looked", not "this run won the
create race", so ensureLabel now reports that instead.

Pending-run eviction: a shared concurrency group keeps only ONE pending run and
cancels any earlier one, and that happens regardless of cancel-in-progress -
it applies to queued runs, not in-flight ones. Scoping cancel-in-progress to
pull requests therefore did not protect main: three rapid pushes would evict
the middle commit's queued run before it ever executed. Push runs now get a
unique group keyed on run_id, so they never share one and never displace each
other; PR runs still supersede by PR number.
@github-actions

Copy link
Copy Markdown

Valgrind Memory Checks - PASSED

pie showData
    title Test binaries under Valgrind (28 total)
    "Clean" : 28
    "Leaking" : 0
Loading
Full valgrind output (last 300 lines)
test open_missing_and_null ... ok
test open_read_close_file ... ok
test value_from_string_and_prints ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_unit-70f116e1e4ce1891

running 7 tests
test bad_uri_is_error ... ok
test connect_execute_query_lifecycle ... ok
test null_value_accessors_error ... ok
test query_params_and_errors ... ok
test sql_value_bytes_and_type_errors ... ok
test sql_value_constructors_and_accessors ... ok
test transaction_commit_and_rollback ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/std_unit-5b843f912e73b0e7

running 7 tests
test container_alloc_and_free ... ok
test int_and_bool_value_roundtrip ... ok
test range_into_list_value ... ok
test value_add_numbers_and_strings ... ok
test value_equality ... ok
test value_get_list_from_value ... ok
test value_to_string_scalar ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/csv_unit-2f2c7cc230c6b6ef

running 5 tests
test parse_null_is_error ... ok
test parse_plain_csv ... ok
test parse_with_headers ... ok
test to_string_rejects_non_map ... ok
test to_string_roundtrip ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collection_cow_unit-1ac8e002687a508e

running 10 tests
test list_mutation_on_shared_value_is_in_place ... ok
test list_pop_back_and_front_return_ends ... ok
test list_pop_on_empty_returns_none ... ok
test list_push_back_builds_in_order_when_uniquely_owned ... ok
test list_push_front_prepends ... ok
test list_set_value_overwrites_and_extends ... ok
test map_put_and_remove_uniquely_owned ... ok
test map_put_on_shared_value_is_in_place ... ok
test set_add_and_remove_uniquely_owned ... ok
test set_add_on_shared_value_is_in_place ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/object_unit-e44959a6b6531a5e

running 3 tests
test copy_without_callback_returns_null ... ok
test invalid_inputs ... ok
test register_alloc_access_copy_free ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/assert_unit-e1668f07901067c2

running 4 tests
test boolean_asserts_pass ... ok
test eq_ne_asserts_pass ... ok
test optional_asserts_pass ... ok
test result_asserts_pass ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/containers_extern_unit-7e147208f23336ef

running 8 tests
test list_box_layer ... ok
test list_box_pop_front_and_empty ... ok
test list_value_layer ... ok
test map_box_layer ... ok
test map_value_layer ... ok
test set_box_layer ... ok
test set_value_layer ... ok
test tuple_ops ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_unit-8a5cc9142515ca74

running 4 tests
test file_lifecycle_and_dir_listing ... ok
test null_paths_are_errors ... ok
test path_helpers ... ok
test read_missing_file_is_error ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_convert_unit-0079bc0728a64729

running 6 tests
test json_from_and_to_map_extern ... ok
test json_parse_extern ... ok
test json_stringify_extern ... ok
test json_to_value_roundtrip ... ok
test value_to_json_error_cases ... ok
test value_to_json_scalars_and_collections ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/primitives_unit-44815d72a291ce0d

running 10 tests
test bool_convert_and_display ... ok
test float_arithmetic_and_rounding ... ok
test float_compare_and_convert ... ok
test float_extern_scalars ... ok
test int_arithmetic ... ok
test int_compare_and_convert ... ok
test int_div_and_rem_by_zero ... ok
test int_extern_scalars ... ok
test string_ops ... ok
test string_parse ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/random_unit-6bb13aab442159ba

running 4 tests
test bool_callable ... ok
test float_within_unit_interval ... ok
test int_within_range ... ok
test range_bounds ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/strings_extern_unit-d6b7ae73af04ca75

running 9 tests
test bool_extern ... ok
test boxing_roundtrips ... ok
test char_conversions ... ok
test string_containment ... ok
test string_equality ... ok
test string_from_owned_cstr_frees_input ... ok
test string_from_value_roundtrip ... ok
test string_parsing ... ok
test string_scalar_ops ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/std_extra_unit-dc9d98d04933a846

running 8 tests
test box_enum_and_noop_frees ... ok
test container_extraction ... ok
test env_access ... ok
test list_index_and_slice ... ok
test some_none_ok_err_wrappers ... ok
test unbox_enum_rejects_null_and_non_opaque ... ok
test unbox_enum_roundtrips_payload ... ok
test value_map_get_value_reads_without_cloning_whole_map ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_drivers_unit-81664060e3d2ebc2

running 5 tests
test mysql_driver ... ok
test postgres_column_types ... ok
test postgres_connect_failure ... ok
test postgres_driver ... ok
test unsupported_scheme_is_error ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/value_unit-b546115ef26bed52

running 14 tests
test empty_collection_display ... ok
test map_set_hash_and_order ... ok
test object_value_display_debug_and_compare ... ok
test optional_and_result_hash ... ok
test tuple_hash_and_compare ... ok
test type_tags_for_all_variants ... ok
test value_display_composites ... ok
test value_display_scalars ... ok
test value_equality_and_ordering ... ok
test value_equality_same_variant_data ... ok
test value_from_string ... ok
test value_hash_consistent ... ok
test value_ordering_across_many_variants ... ok
test value_type_tags ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/net_unit-44b88fefd4afb6a4

running 10 tests
test http_client_against_local_server ... ok
test http_null_inputs_error ... ok
test http_read_request_body_without_content_length_errors ... ok
test http_request_errors ... ok
test http_request_response_loopback ... ok
test http_response_validation_and_udp_extras ... ok
test invalid_addresses_error ... ok
test invalid_read_size_errors ... ok
test tcp_roundtrip ... ok
test udp_roundtrip ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/mux_runtime-aa83e69a98bca408

running 14 tests
test refcount::tests::rc_leak_message_none_when_balanced ... ok
test refcount::tests::rc_leak_message_reports_leaked_blocks ... ok
test refcount::tests::rc_leak_message_reports_negative_imbalance ... ok
test refcount::tests::test_alloc_and_free ... ok
test refcount::tests::test_clone ... ok
test refcount::tests::test_deep_clone_list_is_isolated ... ok
test refcount::tests::test_deep_clone_nested_list ... ok
test refcount::tests::test_deep_clone_object_uses_copy_callback ... ok
test refcount::tests::test_deep_clone_primitives ... ok
test refcount::tests::test_inc_dec_cycle ... ok
test refcount::tests::test_list_cleanup ... ok
test refcount::tests::test_nested_collections ... ok
test refcount::tests::test_null_safety ... ok
test refcount::tests::test_string_cleanup ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/datetime_unit-6453868abfd11113

running 4 tests
test fields_at_epoch ... ok
test format_utc ... ok
test invalid_inputs_are_errors ... ok
test now_and_sleep_validation ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collections_unit-687ba3cbf5c5edd9

running 4 tests
test list_display_contains_elements ... ok
test list_push_pop_length ... ok
test map_insert_get_remove_contains ... ok
test set_add_remove_contains ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/option_result_unit-3fab8320d450784e

running 4 tests
test optional_core ... ok
test optional_extern_roundtrip ... ok
test result_core ... ok
test result_extern_roundtrip ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/math_unit-7a443c929beee645

running 5 tests
test extern_helpers ... ok
test logarithms ... ok
test powers_and_roots ... ok
test rounding_and_extremes ... ok
test trigonometry ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/panic_unit-712fe1269566f68d

running 5 tests
test assert_failure_panics ... ok
test cstr_with_location_panics ... ok
test cstr_without_location_omits_locator ... ok
test index_oob_panics ... ok
test key_not_found_panics ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_unit-622f07969f6587a8

running 6 tests
test parse_handles_escapes ... ok
test parse_primitives ... ok
test parse_rejects_malformed ... ok
test parse_strings_arrays_objects ... ok
test pretty_indent ... ok
test stringify_roundtrip ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

Benchmarks (report-only) - report-only

Informational only - shared runners are too noisy to gate on; full data is in the run artifacts.

xychart-beta
    title "Hot paths under 1 us (median)"
    x-axis ["refcount", "primitive", "map", "string", "wrappers"]
    y-axis "nanoseconds"
    bar [4.625, 3.891, 78.55, 48.41, 34.03]
Loading
xychart-beta
    title "Hot paths 1 us and up (median)"
    x-axis ["list", "set", "json"]
    y-axis "microseconds"
    bar [8.106, 19.2, 3.745]
Loading
Group Median Samples
refcount 4.62 ns 3
primitive 3.89 ns 4
list 8.11 us 5
map 78.6 ns 3
set 19.2 us 3
string 48.4 ns 4
wrappers 34 ns 5
json 3.74 us 3
Full benchmark output (last 300 lines)
�[1m�[92m   Compiling�[0m futures-channel v0.3.32
�[1m�[92m   Compiling�[0m half v2.7.1
�[1m�[92m   Compiling�[0m webpki-roots v1.0.8
�[1m�[92m   Compiling�[0m async-trait v0.1.89
�[1m�[92m   Compiling�[0m derive_utils v0.15.1
�[1m�[92m   Compiling�[0m btoi v0.5.0
�[1m�[92m   Compiling�[0m whoami v2.1.2
�[1m�[92m   Compiling�[0m anstyle v1.0.14
�[1m�[92m   Compiling�[0m mysql v28.0.0
�[1m�[92m   Compiling�[0m saturating v0.1.0
�[1m�[92m   Compiling�[0m ciborium-io v0.2.2
�[1m�[92m   Compiling�[0m plotters-backend v0.3.7
�[1m�[92m   Compiling�[0m uuid v1.23.4
�[1m�[92m   Compiling�[0m clap_lex v1.1.0
�[1m�[92m   Compiling�[0m httparse v1.10.1
�[1m�[92m   Compiling�[0m paste v1.0.15
�[1m�[92m   Compiling�[0m subtle v2.6.1
�[1m�[92m   Compiling�[0m clap_builder v4.6.0
�[1m�[92m   Compiling�[0m plotters-svg v0.3.7
�[1m�[92m   Compiling�[0m ciborium-ll v0.2.2
�[1m�[92m   Compiling�[0m tokio-postgres v0.7.18
�[1m�[92m   Compiling�[0m io-enum v1.2.1
�[1m�[92m   Compiling�[0m webpki-roots v0.26.11
�[1m�[92m   Compiling�[0m hashlink v0.9.1
�[1m�[92m   Compiling�[0m itertools v0.10.5
�[1m�[92m   Compiling�[0m crossbeam-queue v0.3.12
�[1m�[92m   Compiling�[0m pem v3.0.6
�[1m�[92m   Compiling�[0m csv-core v0.1.13
�[1m�[92m   Compiling�[0m cast v0.3.0
�[1m�[92m   Compiling�[0m fallible-streaming-iterator v0.1.9
�[1m�[92m   Compiling�[0m lru v0.16.4
�[1m�[92m   Compiling�[0m twox-hash v2.1.2
�[1m�[92m   Compiling�[0m fallible-iterator v0.3.0
�[1m�[92m   Compiling�[0m ryu v1.0.23
�[1m�[92m   Compiling�[0m bufstream v0.1.4
�[1m�[92m   Compiling�[0m same-file v1.0.6
�[1m�[92m   Compiling�[0m iana-time-zone v0.1.65
�[1m�[92m   Compiling�[0m chrono v0.4.45
�[1m�[92m   Compiling�[0m walkdir v2.5.0
�[1m�[92m   Compiling�[0m csv v1.4.0
�[1m�[92m   Compiling�[0m criterion-plot v0.5.0
�[1m�[92m   Compiling�[0m postgres v0.19.14
�[1m�[92m   Compiling�[0m rayon v1.12.0
�[1m�[92m   Compiling�[0m ureq v2.12.1
�[1m�[92m   Compiling�[0m ciborium v0.2.2
�[1m�[92m   Compiling�[0m plotters v0.3.7
�[1m�[92m   Compiling�[0m clap v4.6.1
�[1m�[92m   Compiling�[0m tinytemplate v1.2.1
�[1m�[92m   Compiling�[0m ordered-float v4.6.0
�[1m�[92m   Compiling�[0m is-terminal v0.4.17
�[1m�[92m   Compiling�[0m lazy_static v1.5.0
�[1m�[92m   Compiling�[0m anes v0.1.6
�[1m�[92m   Compiling�[0m oorandom v11.1.5
�[1m�[92m   Compiling�[0m criterion v0.5.1
�[1m�[92m   Compiling�[0m rusqlite v0.31.0
�[1m�[92m   Compiling�[0m mux-runtime v0.5.0 (/home/runner/work/mux-runtime/mux-runtime)
�[1m�[92m    Finished�[0m `bench` profile [optimized] target(s) in 1m 51s
�[1m�[92m     Running�[0m benches/hot_paths.rs (target/release/deps/hot_paths-f07f5ef8fb852473)
Gnuplot not found, using plotters backend
Benchmarking refcount/alloc_free
Benchmarking refcount/alloc_free: Warming up for 300.00 ms
Benchmarking refcount/alloc_free: Collecting 50 samples in estimated 1.5000 s (71M iterations)
Benchmarking refcount/alloc_free: Analyzing
refcount/alloc_free     time:   [23.266 ns 24.851 ns 27.105 ns]
Found 10 outliers among 50 measurements (20.00%)
  10 (20.00%) high severe
Benchmarking refcount/inc_dec
Benchmarking refcount/inc_dec: Warming up for 300.00 ms
Benchmarking refcount/inc_dec: Collecting 50 samples in estimated 1.5000 s (326M iterations)
Benchmarking refcount/inc_dec: Analyzing
refcount/inc_dec        time:   [4.6156 ns 4.6291 ns 4.6401 ns]
Found 3 outliers among 50 measurements (6.00%)
  3 (6.00%) low mild
Benchmarking refcount/clone
Benchmarking refcount/clone: Warming up for 300.00 ms
Benchmarking refcount/clone: Collecting 50 samples in estimated 1.5000 s (325M iterations)
Benchmarking refcount/clone: Analyzing
refcount/clone          time:   [4.5862 ns 4.6040 ns 4.6220 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high mild

Benchmarking primitive/int_add
Benchmarking primitive/int_add: Warming up for 300.00 ms
Benchmarking primitive/int_add: Collecting 50 samples in estimated 1.5000 s (962M iterations)
Benchmarking primitive/int_add: Analyzing
primitive/int_add       time:   [2.4868 ns 2.4888 ns 2.4901 ns]
Found 7 outliers among 50 measurements (14.00%)
  5 (10.00%) low severe
  2 (4.00%) high mild
Benchmarking primitive/int_pow
Benchmarking primitive/int_pow: Warming up for 300.00 ms
Benchmarking primitive/int_pow: Collecting 50 samples in estimated 1.5000 s (283M iterations)
Benchmarking primitive/int_pow: Analyzing
primitive/int_pow       time:   [5.2922 ns 5.2961 ns 5.3023 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking primitive/float_mul
Benchmarking primitive/float_mul: Warming up for 300.00 ms
Benchmarking primitive/float_mul: Collecting 50 samples in estimated 1.5000 s (801M iterations)
Benchmarking primitive/float_mul: Analyzing
primitive/float_mul     time:   [1.8689 ns 1.8697 ns 1.8707 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking primitive/int_to_string
Benchmarking primitive/int_to_string: Warming up for 300.00 ms
Benchmarking primitive/int_to_string: Collecting 50 samples in estimated 1.5001 s (20M iterations)
Benchmarking primitive/int_to_string: Analyzing
primitive/int_to_string time:   [72.934 ns 73.072 ns 73.288 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe

Benchmarking list/build_free
Benchmarking list/build_free: Warming up for 300.00 ms
Benchmarking list/build_free: Collecting 50 samples in estimated 1.5100 s (185k iterations)
Benchmarking list/build_free: Analyzing
list/build_free         time:   [8.0836 µs 8.1125 µs 8.1428 µs]
Found 2 outliers among 50 measurements (4.00%)
  2 (4.00%) high mild
Benchmarking list/get
Benchmarking list/get: Warming up for 300.00 ms
Benchmarking list/get: Collecting 50 samples in estimated 1.5000 s (41M iterations)
Benchmarking list/get: Analyzing
list/get                time:   [36.772 ns 36.805 ns 36.844 ns]
Found 7 outliers among 50 measurements (14.00%)
  3 (6.00%) high mild
  4 (8.00%) high severe
Benchmarking list/contains
Benchmarking list/contains: Warming up for 300.00 ms
Benchmarking list/contains: Collecting 50 samples in estimated 1.5003 s (4.0M iterations)
Benchmarking list/contains: Analyzing
list/contains           time:   [371.76 ns 375.42 ns 379.72 ns]
Found 8 outliers among 50 measurements (16.00%)
  1 (2.00%) high mild
  7 (14.00%) high severe
Benchmarking list/concat
Benchmarking list/concat: Warming up for 300.00 ms
Benchmarking list/concat: Collecting 50 samples in estimated 1.5029 s (164k iterations)
Benchmarking list/concat: Analyzing
list/concat             time:   [9.1428 µs 9.1583 µs 9.1834 µs]
Found 4 outliers among 50 measurements (8.00%)
  4 (8.00%) high severe
Benchmarking list/to_string
Benchmarking list/to_string: Warming up for 300.00 ms
Benchmarking list/to_string: Collecting 50 samples in estimated 1.5026 s (82k iterations)
Benchmarking list/to_string: Analyzing
list/to_string          time:   [18.581 µs 18.589 µs 18.597 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe

Benchmarking map/build_free
Benchmarking map/build_free: Warming up for 300.00 ms
Benchmarking map/build_free: Collecting 50 samples in estimated 1.5427 s (40k iterations)
Benchmarking map/build_free: Analyzing
map/build_free          time:   [37.914 µs 37.943 µs 37.975 µs]
Found 6 outliers among 50 measurements (12.00%)
  2 (4.00%) high mild
  4 (8.00%) high severe
Benchmarking map/get
Benchmarking map/get: Warming up for 300.00 ms
Benchmarking map/get: Collecting 50 samples in estimated 1.5000 s (19M iterations)
Benchmarking map/get: Analyzing
map/get                 time:   [78.534 ns 78.580 ns 78.631 ns]
Found 5 outliers among 50 measurements (10.00%)
  1 (2.00%) low mild
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking map/contains
Benchmarking map/contains: Warming up for 300.00 ms
Benchmarking map/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking map/contains: Analyzing
map/contains            time:   [39.230 ns 39.256 ns 39.287 ns]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) high mild
  5 (10.00%) high severe

Benchmarking set/build_free
Benchmarking set/build_free: Warming up for 300.00 ms
Benchmarking set/build_free: Collecting 50 samples in estimated 1.5363 s (52k iterations)
Benchmarking set/build_free: Analyzing
set/build_free          time:   [30.105 µs 30.157 µs 30.226 µs]
Found 8 outliers among 50 measurements (16.00%)
  2 (4.00%) high mild
  6 (12.00%) high severe
Benchmarking set/contains
Benchmarking set/contains: Warming up for 300.00 ms
Benchmarking set/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking set/contains: Analyzing
set/contains            time:   [39.207 ns 39.227 ns 39.250 ns]
Found 4 outliers among 50 measurements (8.00%)
  3 (6.00%) high mild
  1 (2.00%) high severe
Benchmarking set/union
Benchmarking set/union: Warming up for 300.00 ms
Benchmarking set/union: Collecting 50 samples in estimated 1.5005 s (78k iterations)
Benchmarking set/union: Analyzing
set/union               time:   [19.181 µs 19.200 µs 19.223 µs]
Found 3 outliers among 50 measurements (6.00%)
  2 (4.00%) high mild
  1 (2.00%) high severe

Benchmarking string/alloc_free
Benchmarking string/alloc_free: Warming up for 300.00 ms
Benchmarking string/alloc_free: Collecting 50 samples in estimated 1.5000 s (26M iterations)
Benchmarking string/alloc_free: Analyzing
string/alloc_free       time:   [58.236 ns 58.369 ns 58.499 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking string/concat
Benchmarking string/concat: Warming up for 300.00 ms
Benchmarking string/concat: Collecting 50 samples in estimated 1.5001 s (10M iterations)
Benchmarking string/concat: Analyzing
string/concat           time:   [146.45 ns 146.89 ns 147.52 ns]
Found 3 outliers among 50 measurements (6.00%)
  3 (6.00%) high severe
Benchmarking string/length
Benchmarking string/length: Warming up for 300.00 ms
Benchmarking string/length: Collecting 50 samples in estimated 1.5000 s (39M iterations)
Benchmarking string/length: Analyzing
string/length           time:   [38.420 ns 38.526 ns 38.630 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking string/equal
Benchmarking string/equal: Warming up for 300.00 ms
Benchmarking string/equal: Collecting 50 samples in estimated 1.5000 s (185M iterations)
Benchmarking string/equal: Analyzing
string/equal            time:   [8.0991 ns 8.1039 ns 8.1101 ns]
Found 7 outliers among 50 measurements (14.00%)
  2 (4.00%) high mild
  5 (10.00%) high severe

Benchmarking wrappers/optional_some
Benchmarking wrappers/optional_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_some: Collecting 50 samples in estimated 1.5000 s (44M iterations)
Benchmarking wrappers/optional_some: Analyzing
wrappers/optional_some  time:   [37.626 ns 37.665 ns 37.704 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) low mild
  2 (4.00%) high severe
Benchmarking wrappers/result_ok
Benchmarking wrappers/result_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_ok: Collecting 50 samples in estimated 1.5000 s (44M iterations)
Benchmarking wrappers/result_ok: Analyzing
wrappers/result_ok      time:   [34.020 ns 34.039 ns 34.059 ns]
Found 5 outliers among 50 measurements (10.00%)
  4 (8.00%) high mild
  1 (2.00%) high severe
Benchmarking wrappers/tuple_new
Benchmarking wrappers/tuple_new: Warming up for 300.00 ms
Benchmarking wrappers/tuple_new: Collecting 50 samples in estimated 1.5000 s (17M iterations)
Benchmarking wrappers/tuple_new: Analyzing
wrappers/tuple_new      time:   [86.857 ns 87.031 ns 87.203 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe
Benchmarking wrappers/optional_is_some
Benchmarking wrappers/optional_is_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_is_some: Collecting 50 samples in estimated 1.5000 s (316M iterations)
Benchmarking wrappers/optional_is_some: Analyzing
wrappers/optional_is_some
                        time:   [4.7367 ns 4.7411 ns 4.7457 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) low mild
Benchmarking wrappers/result_is_ok
Benchmarking wrappers/result_is_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_is_ok: Collecting 50 samples in estimated 1.5000 s (963M iterations)
Benchmarking wrappers/result_is_ok: Analyzing
wrappers/result_is_ok   time:   [1.5562 ns 1.5569 ns 1.5576 ns]
Found 5 outliers among 50 measurements (10.00%)
  1 (2.00%) high mild
  4 (8.00%) high severe

Benchmarking json/parse_small
Benchmarking json/parse_small: Warming up for 300.00 ms
Benchmarking json/parse_small: Collecting 50 samples in estimated 1.5012 s (1.4M iterations)
Benchmarking json/parse_small: Analyzing
json/parse_small        time:   [1.0866 µs 1.0878 µs 1.0889 µs]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe
Benchmarking json/parse_medium
Benchmarking json/parse_medium: Warming up for 300.00 ms
Benchmarking json/parse_medium: Collecting 50 samples in estimated 1.5012 s (397k iterations)
Benchmarking json/parse_medium: Analyzing
json/parse_medium       time:   [3.7452 µs 3.7477 µs 3.7507 µs]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking json/stringify
Benchmarking json/stringify: Warming up for 300.00 ms
Benchmarking json/stringify: Collecting 50 samples in estimated 1.5060 s (80k iterations)
Benchmarking json/stringify: Analyzing
json/stringify          time:   [19.235 µs 19.258 µs 19.294 µs]
Found 6 outliers among 50 measurements (12.00%)
  3 (6.00%) high mild
  3 (6.00%) high severe

Commit 3bdee4c9f45289a98b76c740a51d8a0fea55649b - full run

Review catch. The sticky-comment update is a lookup-then-create, and this
workflow had no concurrency control: two Build runs completing close together
for the same PR could both find no marker and both post, producing exactly the
duplicate comments the marker exists to prevent.

GitHub has no atomic comment upsert, so serializing per PR is what makes the
pair safe. The group is keyed on the trusted workflow_run head repository and
branch, since the PR number is not resolved until a step inside the job.

cancel-in-progress stays false so an in-flight post is never killed midway. A
queued run can still be superseded, which is the behaviour we want here: the
newest report is the one worth posting.
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Valgrind Memory Checks - PASSED

pie showData
    title Test binaries under Valgrind (28 total)
    "Clean" : 28
    "Leaking" : 0
Loading
Full valgrind output (last 300 lines)
test int_extern_scalars ... ok
test string_ops ... ok
test string_parse ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/random_unit-6bb13aab442159ba

running 4 tests
test bool_callable ... ok
test float_within_unit_interval ... ok
test int_within_range ... ok
test range_bounds ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/panic_unit-712fe1269566f68d

running 5 tests
test assert_failure_panics ... ok
test cstr_with_location_panics ... ok
test cstr_without_location_omits_locator ... ok
test index_oob_panics ... ok
test key_not_found_panics ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/closure_unit-8ba40e7da9e59345

running 5 tests
test capture_free_release_frees_closure ... ok
test release_drops_one_reference_per_capture ... ok
test retain_and_release_are_null_safe ... ok
test retain_delays_free_until_last_release ... ok
test shared_closure_frees_capture_only_on_last_release ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_unit-622f07969f6587a8

running 6 tests
test parse_handles_escapes ... ok
test parse_primitives ... ok
test parse_rejects_malformed ... ok
test parse_strings_arrays_objects ... ok
test pretty_indent ... ok
test stringify_roundtrip ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/json_convert_unit-0079bc0728a64729

running 6 tests
test json_from_and_to_map_extern ... ok
test json_parse_extern ... ok
test json_stringify_extern ... ok
test json_to_value_roundtrip ... ok
test value_to_json_error_cases ... ok
test value_to_json_scalars_and_collections ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/containers_extern_unit-7e147208f23336ef

running 8 tests
test list_box_layer ... ok
test list_box_pop_front_and_empty ... ok
test list_value_layer ... ok
test map_box_layer ... ok
test map_value_layer ... ok
test set_box_layer ... ok
test set_value_layer ... ok
test tuple_ops ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/math_unit-7a443c929beee645

running 5 tests
test extern_helpers ... ok
test logarithms ... ok
test powers_and_roots ... ok
test rounding_and_extremes ... ok
test trigonometry ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/csv_unit-2f2c7cc230c6b6ef

running 5 tests
test parse_null_is_error ... ok
test parse_plain_csv ... ok
test parse_with_headers ... ok
test to_string_rejects_non_map ... ok
test to_string_roundtrip ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/object_unit-e44959a6b6531a5e

running 3 tests
test copy_without_callback_returns_null ... ok
test invalid_inputs ... ok
test register_alloc_access_copy_free ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/extern_extras_unit-1abe060784c465b6

running 4 tests
test float_extern_remainder ... ok
test int_extern_remainder ... ok
test optional_extern_remainder ... ok
test result_extern_remainder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_drivers_unit-81664060e3d2ebc2

running 5 tests
test mysql_driver ... ok
test postgres_column_types ... ok
test postgres_connect_failure ... ok
test postgres_driver ... ok
test unsupported_scheme_is_error ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/collections_unit-687ba3cbf5c5edd9

running 4 tests
test list_display_contains_elements ... ok
test list_push_pop_length ... ok
test map_insert_get_remove_contains ... ok
test set_add_remove_contains ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/std_extra_unit-dc9d98d04933a846

running 8 tests
test box_enum_and_noop_frees ... ok
test container_extraction ... ok
test env_access ... ok
test list_index_and_slice ... ok
test some_none_ok_err_wrappers ... ok
test unbox_enum_rejects_null_and_non_opaque ... ok
test unbox_enum_roundtrips_payload ... ok
test value_map_get_value_reads_without_cloning_whole_map ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/value_unit-b546115ef26bed52

running 14 tests
test empty_collection_display ... ok
test map_set_hash_and_order ... ok
test object_value_display_debug_and_compare ... ok
test optional_and_result_hash ... ok
test tuple_hash_and_compare ... ok
test type_tags_for_all_variants ... ok
test value_display_composites ... ok
test value_display_scalars ... ok
test value_equality_and_ordering ... ok
test value_equality_same_variant_data ... ok
test value_from_string ... ok
test value_hash_consistent ... ok
test value_ordering_across_many_variants ... ok
test value_type_tags ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/strings_extern_unit-d6b7ae73af04ca75

running 9 tests
test bool_extern ... ok
test boxing_roundtrips ... ok
test char_conversions ... ok
test string_containment ... ok
test string_equality ... ok
test string_from_owned_cstr_frees_input ... ok
test string_from_value_roundtrip ... ok
test string_parsing ... ok
test string_scalar_ops ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/net_unit-44b88fefd4afb6a4

running 10 tests
test http_client_against_local_server ... ok
test http_null_inputs_error ... ok
test http_read_request_body_without_content_length_errors ... ok
test http_request_errors ... ok
test http_request_response_loopback ... ok
test http_response_validation_and_udp_extras ... ok
test invalid_addresses_error ... ok
test invalid_read_size_errors ... ok
test tcp_roundtrip ... ok
test udp_roundtrip ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/boxed_enum_unit-aa12cbc485aa7d64

running 5 tests
test box_enum_managed_roundtrips_and_tags_as_opaque ... ok
test clone_and_drop_run_the_glue ... ok
test deep_clone_runs_the_clone_glue ... ok
test value_boxed_enum_structural_eq_ord_hash_display ... ok
test value_compare_ffi_orders_and_handles_null ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sync_unit-59f72309152ad3c4

running 7 tests
test condvar_signal_broadcast ... ok
test mutex_lock_unlock ... ok
test null_handles_error ... ok
test rwlock_read_and_write ... ok
test sleep_is_noop_for_nonpositive ... ok
test spawn_and_detach ... ok
test spawn_and_join ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/io_unit-8a5cc9142515ca74

running 4 tests
test file_lifecycle_and_dir_listing ... ok
test null_paths_are_errors ... ok
test path_helpers ... ok
test read_missing_file_is_error ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/mux_runtime-aa83e69a98bca408

running 14 tests
test refcount::tests::rc_leak_message_none_when_balanced ... ok
test refcount::tests::rc_leak_message_reports_leaked_blocks ... ok
test refcount::tests::rc_leak_message_reports_negative_imbalance ... ok
test refcount::tests::test_alloc_and_free ... ok
test refcount::tests::test_clone ... ok
test refcount::tests::test_deep_clone_list_is_isolated ... ok
test refcount::tests::test_deep_clone_nested_list ... ok
test refcount::tests::test_deep_clone_object_uses_copy_callback ... ok
test refcount::tests::test_deep_clone_primitives ... ok
test refcount::tests::test_inc_dec_cycle ... ok
test refcount::tests::test_list_cleanup ... ok
test refcount::tests::test_nested_collections ... ok
test refcount::tests::test_null_safety ... ok
test refcount::tests::test_string_cleanup ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/datetime_unit-6453868abfd11113

running 4 tests
test fields_at_epoch ... ok
test format_utc ... ok
test invalid_inputs_are_errors ... ok
test now_and_sleep_validation ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/assert_unit-e1668f07901067c2

running 4 tests
test boolean_asserts_pass ... ok
test eq_ne_asserts_pass ... ok
test optional_asserts_pass ... ok
test result_asserts_pass ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/option_result_unit-3fab8320d450784e

running 4 tests
test optional_core ... ok
test optional_extern_roundtrip ... ok
test result_core ... ok
test result_extern_roundtrip ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

>>> valgrind /home/runner/work/mux-runtime/mux-runtime/target/debug/deps/sql_unit-70f116e1e4ce1891

running 7 tests
test bad_uri_is_error ... ok
test connect_execute_query_lifecycle ... ok
test null_value_accessors_error ... ok
test query_params_and_errors ... ok
test sql_value_bytes_and_type_errors ... ok
test sql_value_constructors_and_accessors ... ok
test transaction_commit_and_rollback ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s

Benchmarks (report-only) - report-only

Informational only - shared runners are too noisy to gate on; full data is in the run artifacts.

xychart-beta
    title "Hot paths under 1 us (median)"
    x-axis ["refcount", "primitive", "map", "string", "wrappers"]
    y-axis "nanoseconds"
    bar [4.644, 3.582, 78.58, 48.24, 34.77]
Loading
xychart-beta
    title "Hot paths 1 us and up (median)"
    x-axis ["list", "set", "json"]
    y-axis "microseconds"
    bar [8.008, 19.23, 3.682]
Loading
Group Median Samples
refcount 4.64 ns 3
primitive 3.58 ns 4
list 8.01 us 5
map 78.6 ns 3
set 19.2 us 3
string 48.2 ns 4
wrappers 34.8 ns 5
json 3.68 us 3
Full benchmark output (last 300 lines)
�[1m�[92m   Compiling�[0m half v2.7.1
�[1m�[92m   Compiling�[0m async-trait v0.1.89
�[1m�[92m   Compiling�[0m derive_utils v0.15.1
�[1m�[92m   Compiling�[0m btoi v0.5.0
�[1m�[92m   Compiling�[0m whoami v2.1.2
�[1m�[92m   Compiling�[0m plotters-backend v0.3.7
�[1m�[92m   Compiling�[0m saturating v0.1.0
�[1m�[92m   Compiling�[0m subtle v2.6.1
�[1m�[92m   Compiling�[0m mysql v28.0.0
�[1m�[92m   Compiling�[0m paste v1.0.15
�[1m�[92m   Compiling�[0m httparse v1.10.1
�[1m�[92m   Compiling�[0m ciborium-io v0.2.2
�[1m�[92m   Compiling�[0m uuid v1.23.4
�[1m�[92m   Compiling�[0m clap_lex v1.1.0
�[1m�[92m   Compiling�[0m anstyle v1.0.14
�[1m�[92m   Compiling�[0m clap_builder v4.6.0
�[1m�[92m   Compiling�[0m ciborium-ll v0.2.2
�[1m�[92m   Compiling�[0m tokio-postgres v0.7.18
�[1m�[92m   Compiling�[0m plotters-svg v0.3.7
�[1m�[92m   Compiling�[0m io-enum v1.2.1
�[1m�[92m   Compiling�[0m webpki-roots v0.26.11
�[1m�[92m   Compiling�[0m hashlink v0.9.1
�[1m�[92m   Compiling�[0m itertools v0.10.5
�[1m�[92m   Compiling�[0m crossbeam-queue v0.3.12
�[1m�[92m   Compiling�[0m pem v3.0.6
�[1m�[92m   Compiling�[0m csv-core v0.1.13
�[1m�[92m   Compiling�[0m cast v0.3.0
�[1m�[92m   Compiling�[0m fallible-iterator v0.3.0
�[1m�[92m   Compiling�[0m same-file v1.0.6
�[1m�[92m   Compiling�[0m twox-hash v2.1.2
�[1m�[92m   Compiling�[0m bufstream v0.1.4
�[1m�[92m   Compiling�[0m fallible-streaming-iterator v0.1.9
�[1m�[92m   Compiling�[0m ryu v1.0.23
�[1m�[92m   Compiling�[0m iana-time-zone v0.1.65
�[1m�[92m   Compiling�[0m lru v0.16.4
�[1m�[92m   Compiling�[0m chrono v0.4.45
�[1m�[92m   Compiling�[0m csv v1.4.0
�[1m�[92m   Compiling�[0m walkdir v2.5.0
�[1m�[92m   Compiling�[0m criterion-plot v0.5.0
�[1m�[92m   Compiling�[0m rayon v1.12.0
�[1m�[92m   Compiling�[0m postgres v0.19.14
�[1m�[92m   Compiling�[0m ureq v2.12.1
�[1m�[92m   Compiling�[0m plotters v0.3.7
�[1m�[92m   Compiling�[0m clap v4.6.1
�[1m�[92m   Compiling�[0m ciborium v0.2.2
�[1m�[92m   Compiling�[0m tinytemplate v1.2.1
�[1m�[92m   Compiling�[0m ordered-float v4.6.0
�[1m�[92m   Compiling�[0m is-terminal v0.4.17
�[1m�[92m   Compiling�[0m anes v0.1.6
�[1m�[92m   Compiling�[0m lazy_static v1.5.0
�[1m�[92m   Compiling�[0m oorandom v11.1.5
�[1m�[92m   Compiling�[0m criterion v0.5.1
�[1m�[92m   Compiling�[0m rusqlite v0.31.0
�[1m�[92m   Compiling�[0m mux-runtime v0.5.0 (/home/runner/work/mux-runtime/mux-runtime)
�[1m�[92m    Finished�[0m `bench` profile [optimized] target(s) in 1m 44s
�[1m�[92m     Running�[0m benches/hot_paths.rs (target/release/deps/hot_paths-f07f5ef8fb852473)
Gnuplot not found, using plotters backend
Benchmarking refcount/alloc_free
Benchmarking refcount/alloc_free: Warming up for 300.00 ms
Benchmarking refcount/alloc_free: Collecting 50 samples in estimated 1.5000 s (61M iterations)
Benchmarking refcount/alloc_free: Analyzing
refcount/alloc_free     time:   [23.305 ns 24.002 ns 24.989 ns]
Found 12 outliers among 50 measurements (24.00%)
  1 (2.00%) high mild
  11 (22.00%) high severe
Benchmarking refcount/inc_dec
Benchmarking refcount/inc_dec: Warming up for 300.00 ms
Benchmarking refcount/inc_dec: Collecting 50 samples in estimated 1.5000 s (323M iterations)
Benchmarking refcount/inc_dec: Analyzing
refcount/inc_dec        time:   [4.6372 ns 4.6457 ns 4.6543 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) low severe
  1 (2.00%) low mild
  1 (2.00%) high severe
Benchmarking refcount/clone
Benchmarking refcount/clone: Warming up for 300.00 ms
Benchmarking refcount/clone: Collecting 50 samples in estimated 1.5000 s (326M iterations)
Benchmarking refcount/clone: Analyzing
refcount/clone          time:   [4.6030 ns 4.6142 ns 4.6245 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe

Benchmarking primitive/int_add
Benchmarking primitive/int_add: Warming up for 300.00 ms
Benchmarking primitive/int_add: Collecting 50 samples in estimated 1.5000 s (963M iterations)
Benchmarking primitive/int_add: Analyzing
primitive/int_add       time:   [1.5566 ns 1.5576 ns 1.5593 ns]
Found 3 outliers among 50 measurements (6.00%)
  3 (6.00%) high severe
Benchmarking primitive/int_pow
Benchmarking primitive/int_pow: Warming up for 300.00 ms
Benchmarking primitive/int_pow: Collecting 50 samples in estimated 1.5000 s (283M iterations)
Benchmarking primitive/int_pow: Analyzing
primitive/int_pow       time:   [5.2954 ns 5.3004 ns 5.3064 ns]
Found 5 outliers among 50 measurements (10.00%)
  2 (4.00%) high mild
  3 (6.00%) high severe
Benchmarking primitive/float_mul
Benchmarking primitive/float_mul: Warming up for 300.00 ms
Benchmarking primitive/float_mul: Collecting 50 samples in estimated 1.5000 s (801M iterations)
Benchmarking primitive/float_mul: Analyzing
primitive/float_mul     time:   [1.8696 ns 1.8708 ns 1.8721 ns]
Found 3 outliers among 50 measurements (6.00%)
  2 (4.00%) high mild
  1 (2.00%) high severe
Benchmarking primitive/int_to_string
Benchmarking primitive/int_to_string: Warming up for 300.00 ms
Benchmarking primitive/int_to_string: Collecting 50 samples in estimated 1.5001 s (20M iterations)
Benchmarking primitive/int_to_string: Analyzing
primitive/int_to_string time:   [74.771 ns 74.846 ns 74.933 ns]
Found 4 outliers among 50 measurements (8.00%)
  2 (4.00%) high mild
  2 (4.00%) high severe

Benchmarking list/build_free
Benchmarking list/build_free: Warming up for 300.00 ms
Benchmarking list/build_free: Collecting 50 samples in estimated 1.5032 s (198k iterations)
Benchmarking list/build_free: Analyzing
list/build_free         time:   [8.0068 µs 8.0111 µs 8.0167 µs]
Found 6 outliers among 50 measurements (12.00%)
  1 (2.00%) low mild
  2 (4.00%) high mild
  3 (6.00%) high severe
Benchmarking list/get
Benchmarking list/get: Warming up for 300.00 ms
Benchmarking list/get: Collecting 50 samples in estimated 1.5000 s (41M iterations)
Benchmarking list/get: Analyzing
list/get                time:   [36.767 ns 36.792 ns 36.822 ns]
Found 5 outliers among 50 measurements (10.00%)
  2 (4.00%) high mild
  3 (6.00%) high severe
Benchmarking list/contains
Benchmarking list/contains: Warming up for 300.00 ms
Benchmarking list/contains: Collecting 50 samples in estimated 1.5004 s (4.1M iterations)
Benchmarking list/contains: Analyzing
list/contains           time:   [369.23 ns 369.42 ns 369.63 ns]
Found 5 outliers among 50 measurements (10.00%)
  3 (6.00%) high mild
  2 (4.00%) high severe
Benchmarking list/concat
Benchmarking list/concat: Warming up for 300.00 ms
Benchmarking list/concat: Collecting 50 samples in estimated 1.5097 s (164k iterations)
Benchmarking list/concat: Analyzing
list/concat             time:   [9.1671 µs 9.1722 µs 9.1785 µs]
Found 4 outliers among 50 measurements (8.00%)
  4 (8.00%) high severe
Benchmarking list/to_string
Benchmarking list/to_string: Warming up for 300.00 ms
Benchmarking list/to_string: Collecting 50 samples in estimated 1.5215 s (83k iterations)
Benchmarking list/to_string: Analyzing
list/to_string          time:   [18.519 µs 18.527 µs 18.536 µs]
Found 6 outliers among 50 measurements (12.00%)
  2 (4.00%) high mild
  4 (8.00%) high severe

Benchmarking map/build_free
Benchmarking map/build_free: Warming up for 300.00 ms
Benchmarking map/build_free: Collecting 50 samples in estimated 1.5409 s (40k iterations)
Benchmarking map/build_free: Analyzing
map/build_free          time:   [37.915 µs 37.939 µs 37.966 µs]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe
Benchmarking map/get
Benchmarking map/get: Warming up for 300.00 ms
Benchmarking map/get: Collecting 50 samples in estimated 1.5001 s (19M iterations)
Benchmarking map/get: Analyzing
map/get                 time:   [78.588 ns 78.650 ns 78.720 ns]
Found 8 outliers among 50 measurements (16.00%)
  1 (2.00%) low mild
  3 (6.00%) high mild
  4 (8.00%) high severe
Benchmarking map/contains
Benchmarking map/contains: Warming up for 300.00 ms
Benchmarking map/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking map/contains: Analyzing
map/contains            time:   [39.220 ns 39.242 ns 39.267 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe

Benchmarking set/build_free
Benchmarking set/build_free: Warming up for 300.00 ms
Benchmarking set/build_free: Collecting 50 samples in estimated 1.5323 s (52k iterations)
Benchmarking set/build_free: Analyzing
set/build_free          time:   [30.006 µs 30.018 µs 30.030 µs]
Found 2 outliers among 50 measurements (4.00%)
  2 (4.00%) high severe
Benchmarking set/contains
Benchmarking set/contains: Warming up for 300.00 ms
Benchmarking set/contains: Collecting 50 samples in estimated 1.5000 s (38M iterations)
Benchmarking set/contains: Analyzing
set/contains            time:   [39.226 ns 39.252 ns 39.289 ns]
Found 6 outliers among 50 measurements (12.00%)
  6 (12.00%) high severe
Benchmarking set/union
Benchmarking set/union: Warming up for 300.00 ms
Benchmarking set/union: Collecting 50 samples in estimated 1.5205 s (79k iterations)
Benchmarking set/union: Analyzing
set/union               time:   [19.245 µs 19.331 µs 19.432 µs]
Found 5 outliers among 50 measurements (10.00%)
  5 (10.00%) high severe

Benchmarking string/alloc_free
Benchmarking string/alloc_free: Warming up for 300.00 ms
Benchmarking string/alloc_free: Collecting 50 samples in estimated 1.5000 s (26M iterations)
Benchmarking string/alloc_free: Analyzing
string/alloc_free       time:   [58.109 ns 58.251 ns 58.399 ns]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking string/concat
Benchmarking string/concat: Warming up for 300.00 ms
Benchmarking string/concat: Collecting 50 samples in estimated 1.5002 s (10M iterations)
Benchmarking string/concat: Analyzing
string/concat           time:   [146.66 ns 148.53 ns 152.23 ns]
Found 3 outliers among 50 measurements (6.00%)
  1 (2.00%) high mild
  2 (4.00%) high severe
Benchmarking string/length
Benchmarking string/length: Warming up for 300.00 ms
Benchmarking string/length: Collecting 50 samples in estimated 1.5000 s (39M iterations)
Benchmarking string/length: Analyzing
string/length           time:   [38.148 ns 38.249 ns 38.380 ns]
Found 3 outliers among 50 measurements (6.00%)
  2 (4.00%) high mild
  1 (2.00%) high severe
Benchmarking string/equal
Benchmarking string/equal: Warming up for 300.00 ms
Benchmarking string/equal: Collecting 50 samples in estimated 1.5000 s (185M iterations)
Benchmarking string/equal: Analyzing
string/equal            time:   [8.0997 ns 8.1030 ns 8.1068 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) high mild
  3 (6.00%) high severe

Benchmarking wrappers/optional_some
Benchmarking wrappers/optional_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_some: Collecting 50 samples in estimated 1.5000 s (43M iterations)
Benchmarking wrappers/optional_some: Analyzing
wrappers/optional_some  time:   [37.374 ns 37.409 ns 37.449 ns]
Found 4 outliers among 50 measurements (8.00%)
  3 (6.00%) high mild
  1 (2.00%) high severe
Benchmarking wrappers/result_ok
Benchmarking wrappers/result_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_ok: Collecting 50 samples in estimated 1.5000 s (43M iterations)
Benchmarking wrappers/result_ok: Analyzing
wrappers/result_ok      time:   [34.774 ns 34.793 ns 34.817 ns]
Found 4 outliers among 50 measurements (8.00%)
  1 (2.00%) low mild
  3 (6.00%) high severe
Benchmarking wrappers/tuple_new
Benchmarking wrappers/tuple_new: Warming up for 300.00 ms
Benchmarking wrappers/tuple_new: Collecting 50 samples in estimated 1.5000 s (17M iterations)
Benchmarking wrappers/tuple_new: Analyzing
wrappers/tuple_new      time:   [87.210 ns 87.359 ns 87.466 ns]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe
Benchmarking wrappers/optional_is_some
Benchmarking wrappers/optional_is_some: Warming up for 300.00 ms
Benchmarking wrappers/optional_is_some: Collecting 50 samples in estimated 1.5000 s (315M iterations)
Benchmarking wrappers/optional_is_some: Analyzing
wrappers/optional_is_some
                        time:   [4.7570 ns 4.7603 ns 4.7631 ns]
Benchmarking wrappers/result_is_ok
Benchmarking wrappers/result_is_ok: Warming up for 300.00 ms
Benchmarking wrappers/result_is_ok: Collecting 50 samples in estimated 1.5000 s (963M iterations)
Benchmarking wrappers/result_is_ok: Analyzing
wrappers/result_is_ok   time:   [1.5553 ns 1.5559 ns 1.5566 ns]
Found 3 outliers among 50 measurements (6.00%)
  2 (4.00%) high mild
  1 (2.00%) high severe

Benchmarking json/parse_small
Benchmarking json/parse_small: Warming up for 300.00 ms
Benchmarking json/parse_small: Collecting 50 samples in estimated 1.5004 s (1.3M iterations)
Benchmarking json/parse_small: Analyzing
json/parse_small        time:   [1.1128 µs 1.1146 µs 1.1164 µs]
Found 2 outliers among 50 measurements (4.00%)
  1 (2.00%) high mild
  1 (2.00%) high severe
Benchmarking json/parse_medium
Benchmarking json/parse_medium: Warming up for 300.00 ms
Benchmarking json/parse_medium: Collecting 50 samples in estimated 1.5023 s (407k iterations)
Benchmarking json/parse_medium: Analyzing
json/parse_medium       time:   [3.6829 µs 3.6863 µs 3.6894 µs]
Found 1 outliers among 50 measurements (2.00%)
  1 (2.00%) high severe
Benchmarking json/stringify
Benchmarking json/stringify: Warming up for 300.00 ms
Benchmarking json/stringify: Collecting 50 samples in estimated 1.5233 s (82k iterations)
Benchmarking json/stringify: Analyzing
json/stringify          time:   [19.034 µs 19.042 µs 19.050 µs]
Found 5 outliers among 50 measurements (10.00%)
  1 (2.00%) low mild
  2 (4.00%) high mild
  2 (4.00%) high severe

Commit 187a46f7b71c44edcfd5c6f3bf5d6e8a128498eb - full run

@DerekCorniello
DerekCorniello merged commit e357ead into main Jul 31, 2026
8 checks passed
@DerekCorniello
DerekCorniello deleted the ci/pipeline-hygiene branch July 31, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant