-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Use skiplist tailored for LSM-tree #95
Comments
Why not a read-write lock skiplist? Why the granular concurrency? It will lead to complexity and unsafely no? From experience I can’t say you’ll get major performance boosts doing a granular approach. Also, why just range? What about iteration for cursing through?? Forwards and backwards the entire list. Range on a memtable? |
Well the current skiplist already is concurrent.
Range is an Iterator. More correctly a DoubleEndedIterator. |
Well the current skiplist already is concurrent. Range is an Iterator. More correctly a DoubleEndedIterator. |
It's not about boosting performance, it's about keeping the current locking behaviour, but not depending on crossbeam's epoch system. For long reads, having a RwLock would block writes.
And yes, that's what an LSM-tree implicitly does. |
No need for remove and get() methods, we only need range() and insert()
Arena-based (store towers/nodes in arena)
Should probably be a new repo - will definitely involve unsafe
Needs to be concurrent, at least reads shouldn't get blocked by writes
The text was updated successfully, but these errors were encountered: