Add ArcSwapMap and use it throughout our session registries#8072
Conversation
Merging this PR will degrade performance by 14.19%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_bool_canonical_into[(1000, 10)] |
30.3 µs | 45.5 µs | -33.28% |
| ❌ | Simulation | chunked_varbinview_canonical_into[(1000, 10)] |
161.5 µs | 197.8 µs | -18.33% |
| ❌ | Simulation | chunked_varbinview_into_canonical[(1000, 10)] |
176.1 µs | 212.4 µs | -17.09% |
| ❌ | Simulation | bitwise_not_vortex_buffer_mut[128] |
246.1 ns | 275.3 ns | -10.6% |
| ⚡ | Simulation | take_map[(0.1, 1.0)] |
1.9 ms | 1.7 ms | +15.19% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/aggregatearcswap (1626b3c) with develop (b29b2b9)
| use crate::arrays::dict::compute::min_max::DictMinMaxKernel; | ||
|
|
||
| /// Registry of aggregate function vtables. | ||
| pub type AggregateFnRegistry = Registry<AggregateFnPluginRef>; |
There was a problem hiding this comment.
Shall we have a pattern like this for ArcSwap?
|
I will make a follow up. |
ba733d5 to
a472bd2
Compare
|
Looks like this broke the backcompat check https://github.com/vortex-data/vortex/actions/runs/26544463401/job/78201950621?pr=8072. Need to investigate this tomorrow as it's passing locally |
a472bd2 to
e006bfd
Compare
Signed-off-by: Robert Kruszewski <github@robertk.io>
10f8dfe to
1626b3c
Compare
ArcSwap is faster than a lock for read. These session are mutable but mutations
are rare and retrievals are common