Skip to content

Add ArcSwapMap and use it throughout our session registries#8072

Merged
robert3005 merged 12 commits into
developfrom
rk/aggregatearcswap
Jun 2, 2026
Merged

Add ArcSwapMap and use it throughout our session registries#8072
robert3005 merged 12 commits into
developfrom
rk/aggregatearcswap

Conversation

@robert3005

Copy link
Copy Markdown
Contributor

ArcSwap is faster than a lock for read. These session are mutable but mutations
are rare and retrievals are common

@robert3005 robert3005 requested a review from gatesn May 22, 2026 22:50
@robert3005 robert3005 added the changelog/chore A trivial change label May 22, 2026
@codspeed-hq

codspeed-hq Bot commented May 22, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 14.19%

⚠️ 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.

⚡ 1 improved benchmark
❌ 4 regressed benchmarks
✅ 1270 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

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)

Open in CodSpeed

Comment thread vortex-array/src/aggregate_fn/session.rs
Comment thread vortex-array/src/aggregate_fn/session.rs Outdated
Comment thread vortex-array/src/aggregate_fn/accumulator.rs Outdated
@robert3005 robert3005 requested a review from onursatici May 27, 2026 10:26
Comment thread vortex-array/src/aggregate_fn/accumulator.rs Outdated
use crate::arrays::dict::compute::min_max::DictMinMaxKernel;

/// Registry of aggregate function vtables.
pub type AggregateFnRegistry = Registry<AggregateFnPluginRef>;

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.

Shall we have a pattern like this for ArcSwap?

@joseph-isaacs joseph-isaacs 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.

Can we break this out into a pattern with a struct or type wrapper?

@robert3005

Copy link
Copy Markdown
Contributor Author

I will make a follow up.

@robert3005 robert3005 force-pushed the rk/aggregatearcswap branch from ba733d5 to a472bd2 Compare May 27, 2026 23:19
@robert3005 robert3005 enabled auto-merge (squash) May 27, 2026 23:19
@robert3005

Copy link
Copy Markdown
Contributor Author

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

@robert3005 robert3005 force-pushed the rk/aggregatearcswap branch from a472bd2 to e006bfd Compare May 29, 2026 00:40
@robert3005 robert3005 disabled auto-merge May 29, 2026 08:28
robert3005 added 12 commits June 2, 2026 12:19
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 force-pushed the rk/aggregatearcswap branch from 10f8dfe to 1626b3c Compare June 2, 2026 13:25
@robert3005 robert3005 changed the title Use ArcSwap for aggregate fn registry Add ArcSwapMap and use it throughout our session registries Jun 2, 2026
@robert3005 robert3005 merged commit 81184e7 into develop Jun 2, 2026
63 of 64 checks passed
@robert3005 robert3005 deleted the rk/aggregatearcswap branch June 2, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants