Laurens Kuiper
0b272c23b1
BlockAllocator improvements (#27472)
This extends the `BlockAllocator` with time-based decay and bounded
background reclamation, and adds `AllocationCache` for large
power-of-two allocations that favors CPU-local reuse. Both pooled blocks
and cached fallback allocations are included in memory-pressure
handling.
On `c7a.metal-48xl`, total runtime and RSS compared vs. the base branch:
| Workload | Threads | Runtime (s) | Runtime reduction | Peak RSS (GiB)
| RSS reduction |
|---|---:|---:|---:|---:|---:|
| TPC-H SF100 | 32 | 7.44 → 6.48 | 12.9% | 27.8 → 25.6 | 7.8% |
| TPC-H SF100 | 192 | 4.35 → 3.96 | 8.9% | 38.8 → 31.3 | 19.5% |
| TPC-DS SF100 | 32 | 27.46 → 23.49 | 14.5% | 43.1 → 39.0 | 9.6% |
| TPC-DS SF100 | 192 | 20.11 → 17.61 | 12.5% | 52.1 → 45.6 | 12.4% |
| ClickBench native | 32 | 5.48 → 5.01 | 8.6% | 20.9 → 16.8 | 19.5% |
| ClickBench native | 192 | 2.83 → 2.54 | 10.3% | 32.8 → 24.3 | 25.9% |
| ClickBench Parquet | 32 | 8.36 → 7.96 | 4.8% | 27.1 → 10.1 | 62.8% |
| ClickBench Parquet | 192 | 5.63 → 4.81 | 14.4% | 26.5 → 17.2 | 35.0% |
The goal is to enable `BlockAllocator` by default in a future PR, as it
now has improved performance (like before), but now also with reduced
RSS (which was much higher and not free-able before).
2026-10-19 18:46:32 +00:00
..
2026-10-16 07:35:55 +00:00
2026-10-13 15:52:38 +00:00
2026-10-19 13:57:01 +02:00
2026-10-13 06:00:00 +00:00
2026-10-10 13:41:48 +02:00
2026-04-02 15:35:18 +02:00
2026-08-05 09:54:43 +02:00
2026-08-25 22:41:14 +02:00
2026-04-22 08:53:31 +02:00
2026-06-10 12:20:40 +01:00
2026-08-26 10:22:40 +02:00
2026-04-02 12:44:42 +02:00
2026-10-10 13:41:48 +02:00
2026-08-28 15:50:50 +02:00
2026-09-08 07:21:53 +02:00
2025-03-25 22:41:46 +01:00
2026-08-03 12:25:10 +02:00
2026-09-29 17:27:19 +02:00
2026-02-03 16:31:48 +01:00
2026-06-06 15:29:08 +02:00
2026-06-04 13:10:43 +02:00
2026-04-22 08:53:31 +02:00
2025-08-15 15:39:18 +02:00
2026-08-31 15:13:06 +02:00
2026-03-23 13:58:42 +01:00
2026-08-28 13:00:36 +02:00
2026-04-28 14:41:04 +02:00
2026-04-14 13:15:25 +02:00
2026-10-14 11:47:30 +00:00
2026-10-19 18:46:32 +00:00
2025-03-25 22:41:46 +01:00
2026-10-08 08:33:27 +02:00
2026-04-03 14:20:29 -07:00
2026-06-28 14:43:15 +02:00
2026-06-11 12:59:13 +02:00
2025-03-25 22:41:46 +01:00
2025-05-12 17:25:57 +02:00
2026-06-28 13:18:13 +02:00
2024-09-13 15:09:12 +02:00
2026-09-29 17:16:29 +02:00
2026-05-18 09:41:01 +02:00
2025-03-25 22:41:46 +01:00
2026-04-22 13:27:31 +02:00
2026-09-14 14:40:51 +02:00
2026-06-03 14:07:17 +02:00
2025-04-15 12:41:49 +02:00
2026-09-23 16:20:55 +02:00
2026-09-29 17:16:29 +02:00
2026-09-21 09:02:11 +02:00
2026-08-26 16:32:54 +02:00
2026-10-01 21:17:03 +02:00
2026-01-06 01:37:06 +08:00
2025-03-25 22:41:46 +01:00
2026-09-16 08:41:15 +02:00
2026-08-02 22:06:05 -07:00
2026-08-26 16:32:54 +02:00
2026-04-15 09:52:35 +02:00
2024-12-10 17:03:09 +01:00
2026-09-29 17:27:19 +02:00
2026-09-15 07:10:46 +02:00
2026-09-09 18:51:29 +00:00
2026-10-14 09:53:21 +02:00
2026-10-14 09:53:22 +02:00
2026-10-15 16:20:59 +02:00
2026-05-28 07:41:50 +02:00
2026-03-13 09:01:16 +01:00
2025-11-27 15:27:32 +01:00
2026-09-01 08:07:10 +02:00
2025-10-21 09:54:29 +02:00
2026-10-14 09:53:22 +02:00
2026-06-04 13:10:43 +02:00
2026-07-31 15:07:39 +02:00
2026-07-31 15:07:39 +02:00
2025-03-25 22:41:46 +01:00
2026-09-04 07:09:07 +02:00
2026-09-24 07:42:31 +02:00
2025-03-25 22:41:46 +01:00
2026-06-22 14:15:44 +02:00