Skip to content

ci: reject implicit engine buffer allocation - #9672

Draft
gatesn wants to merge 3 commits into
ngates/buffer-allocator-executionfrom
ngates/buffer-allocator-enforce
Draft

ci: reject implicit engine buffer allocation#9672
gatesn wants to merge 3 commits into
ngates/buffer-allocator-executionfrom
ngates/buffer-allocator-enforce

Conversation

@gatesn

@gatesn gatesn commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Reject implicit buffer allocation in engine code.

Changes

  • Add a check for implicit constructors in allocator-aware paths.
  • Run the check in Rust lint CI.

@gatesn gatesn mentioned this pull request Aug 27, 2026
5 tasks
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 5b79473 to 2f3e584 Compare August 27, 2026 19:38
@codspeed-hq

codspeed-hq Bot commented Aug 27, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 0.58%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 94 improved benchmarks
❌ 158 regressed benchmarks
✅ 1917 untouched benchmarks
⏩ 106 skipped benchmarks1
🗄️ 4 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation decompress[datetime_for_bp] 218.2 µs 404.6 µs -46.08%
Simulation new_bp_prim_test_between[i64, 2048] 87.3 µs 155.7 µs -43.93%
Simulation new_alp_prim_test_between[f64, 2048] 104.8 µs 172.3 µs -39.16%
Simulation decompress_rd[f64, (2000, 0.1)] 118.7 µs 186.9 µs -36.49%
Simulation decompress_rd[f64, (2000, 0.0)] 118.7 µs 186.8 µs -36.47%
Simulation decompress_rd[f64, (2000, 0.01)] 118.8 µs 186.9 µs -36.46%
Simulation decompress[alp_for_bp_f64] 146.7 µs 225 µs -34.81%
Simulation alp_rd_decompress_f64 167.2 µs 234.9 µs -28.81%
Simulation new_bp_prim_test_between[i64, 16384] 169.2 µs 237.2 µs -28.68%
Simulation new_alp_prim_test_between[f64, 16384] 191.2 µs 259.6 µs -26.36%
Simulation compare[1] 205.2 µs 273.5 µs -24.96%
Simulation compare[1] 208.3 µs 275.9 µs -24.51%
Simulation compact_sliced[(2048, 10)] 201.1 µs 266.1 µs -24.43%
Simulation compare[2] 211.7 µs 279.8 µs -24.33%
Simulation compare[2] 215 µs 283 µs -24.02%
Simulation compact_sliced[(1024, 10)] 103.1 µs 135.6 µs -23.93%
Simulation compare[3] 219.1 µs 287.1 µs -23.67%
Simulation compare[3] 222.2 µs 290.3 µs -23.47%
Simulation compare[4] 224.6 µs 292.6 µs -23.24%
Simulation compare[4] 228 µs 295.8 µs -22.93%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ngates/buffer-allocator-enforce (b09ec24) with ngates/buffer-allocator-execution (eecf43a)3

Open in CodSpeed

Footnotes

  1. 106 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. 4 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them.

  3. No successful run was found on ngates/buffer-allocator-execution (187bae1) during the generation of this report, so adf1ccb was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 2f3e584 to d578a0a Compare August 27, 2026 20:42
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch 2 times, most recently from 5be81fc to 13894b2 Compare August 27, 2026 21:38
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch 2 times, most recently from 36176c7 to 24c4ffc Compare August 28, 2026 14:56
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 24c4ffc to 7837e58 Compare August 28, 2026 16:06
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 7837e58 to 092912f Compare August 28, 2026 17:03
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 092912f to e5fea5f Compare August 28, 2026 17:35
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch 2 times, most recently from 0aa2518 to 5014df5 Compare August 28, 2026 18:22
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 5014df5 to 1bd0883 Compare August 28, 2026 18:24
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 1bd0883 to 1edde31 Compare August 28, 2026 20:41
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 1edde31 to b9c94d9 Compare August 28, 2026 20:50
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from b9c94d9 to 1ac1fd9 Compare August 28, 2026 20:54
@gatesn gatesn added the changelog/deprecation A change that introduces a series of API deprecations label Aug 28, 2026
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from 68d5db4 to 34c9a8a Compare August 28, 2026 21:00
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from f21e047 to 87e6daf Compare August 29, 2026 00:07
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch 3 times, most recently from eedc0f8 to fc0be30 Compare August 29, 2026 02:00
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from fc0be30 to b09ec24 Compare August 29, 2026 02:45
gatesn added 3 commits August 28, 2026 23:17
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn
gatesn force-pushed the ngates/buffer-allocator-enforce branch from b09ec24 to 3e98c72 Compare August 29, 2026 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/deprecation A change that introduces a series of API deprecations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant