Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

Better concurrency when lowering #1380

Open
Xanewok opened this issue Feb 25, 2019 · 1 comment
Open

Better concurrency when lowering #1380

Xanewok opened this issue Feb 25, 2019 · 1 comment

Comments

@Xanewok
Copy link
Member

Xanewok commented Feb 25, 2019

Originally created by @nrc (rust-dev-tools/rls-analysis#157):

We do a lot of locking (every time we consult the project analysis) when lowering. We should be able to do better, at the least by using RW locks, but perhaps by being smart and doing some lock-free magic or some cloning

@Xanewok
Copy link
Member Author

Xanewok commented Feb 25, 2019

Originally replied by @nrc (rust-dev-tools/rls-analysis#157 (comment)):

We could also use more fine-grained locking, at present we have a single lock over the whole analysis which is taken and dropped repeatedly. It would be more efficient to have finer grained locks and hold them for longer.

Given we don't actually make use of parallelism, we could just hold the lock for the whole of lowering (this is a bit tricky because we use the user-facing API which includes locking.

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

No branches or pull requests

1 participant