Skip to content

ci(allocs): allocation tracker measure all transforms#23728

Closed
overlookmotel wants to merge 1 commit into
mainfrom
om/06-22-ci_allocs_allocation_tracker_measure_all_transforms
Closed

ci(allocs): allocation tracker measure all transforms#23728
overlookmotel wants to merge 1 commit into
mainfrom
om/06-22-ci_allocs_allocation_tracker_measure_all_transforms

Conversation

@overlookmotel

@overlookmotel overlookmotel commented Jun 22, 2026

Copy link
Copy Markdown
Member

Allocations tracker was only measuring the allocations in transformer with "esnext" target - i.e. most transforms skipped. Instead, run all transforms, same as we do in benchmarks, so improvements in number of allocations in any transform will register.

overlookmotel commented Jun 22, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@overlookmotel
overlookmotel marked this pull request as ready for review June 22, 2026 19:30
Copilot AI review requested due to automatic review settings June 22, 2026 19:30
@overlookmotel
overlookmotel force-pushed the om/06-22-ci_allocs_allocation_tracker_measure_all_transforms branch from 570298b to 3f591f9 Compare June 22, 2026 19:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the memory allocation tracking task to measure allocations for the full set of transformer passes (instead of using an esnext-targeted configuration that skips most transforms), aligning allocation tracking with the intent of detecting allocation regressions/improvements across all transforms.

Changes:

  • Switch transformer configuration in the allocation tracker from TransformOptions::from_target("esnext") to TransformOptions::enable_all().
  • Update allocation snapshot outputs for transformer and minifier to reflect the new transformer pass set.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
tasks/track_memory_allocations/src/lib.rs Uses TransformOptions::enable_all() for transformer runs during warmup and measurement.
tasks/track_memory_allocations/allocs_transformer.snap Updates expected transformer allocation counts under the new configuration.
tasks/track_memory_allocations/allocs_minifier.snap Updates expected minifier allocation counts due to changed pre-minify transformer output/config.

Comment thread tasks/track_memory_allocations/src/lib.rs Outdated
Comment thread tasks/track_memory_allocations/src/lib.rs Outdated
@overlookmotel
overlookmotel force-pushed the om/06-22-ci_allocs_allocation_tracker_measure_all_transforms branch from 3f591f9 to 57dfca9 Compare June 22, 2026 19:39
@overlookmotel

Copy link
Copy Markdown
Member Author

Oh dear. For some reason, this change makes the value for system allocations on pdf.mjs unstable. Probably one of Semantic's heap-allocated HashMaps is causing the instability.

@overlookmotel
overlookmotel marked this pull request as draft June 22, 2026 19:43
@overlookmotel
overlookmotel deleted the om/06-22-ci_allocs_allocation_tracker_measure_all_transforms branch June 23, 2026 00:28
@overlookmotel

Copy link
Copy Markdown
Member Author

The problem is a HashMap in transformer which is keyed by Address. Those keys are nondeterministic, and how they cluster determines whether the HashMap grows or not. I can't see an easy way to address this right now.

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.

2 participants