Use ArcSwap for aggregate fn registry#8072
Conversation
Merging this PR will degrade performance by 10.45%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | null_count_run_end[(10000, 4, 0.01)] |
113.3 µs | 126.5 µs | -10.45% |
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 (a472bd2) with develop (126c431)
| 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 |
ArcSwap is faster than a lock for read. These session are mutable but mutations
are rare and retrievals are common