Skip to content

Move locking operations onto the module's thread #2866

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jsdt
Copy link
Contributor

@jsdt jsdt commented Jun 13, 2025

Description of Changes

This is a branch to test the performance impact of moving work from blocking threads to the module thread.

In places where we previously spawned a blocking task to acquire a lock, we now use the module's job queue instead. This could slow down performance, since places where we are acquiring shared locks are now running serially. It also probably moves a little extra computation that happens before/after locking.

If this doesn't cause performance problems, we could probably simplify our concurrency significantly with a similar approach. If we do see some performance problems, we will probably need the job queue to have its own scheduling logic to allow queries to happen in parallel.

Expected complexity level and risk

3? This PR shouldn't be merged. Its a PoC we can use for performance testing.

Testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant