Skip to content
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

Performance regression #41

Open
al8n opened this issue Oct 1, 2024 · 1 comment
Open

Performance regression #41

al8n opened this issue Oct 1, 2024 · 1 comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@al8n
Copy link
Owner

al8n commented Oct 1, 2024

The changes in 37ceb55 lead to huge write performance regression, not sure what happens, in write benchmark becomes 1ms, whereas the previous commit write benchmark is 5us.

If cannot find which part of changes lead to this change, maybe need to reimplement the whole crate base on fa55ff6.

@al8n al8n added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Oct 1, 2024
@al8n
Copy link
Owner Author

al8n commented Oct 11, 2024

I sense that this is caused by contention regarding CAS operation. In the current implementation, the tower contains both prev and next pointers, in concurrent write situations, this increases the CAS failure possibility.

I will move the current implementation to the doubly mod, and create a new mod called singly to keep the previous implementation.

@al8n al8n added this to the 0.18.0 milestone Oct 15, 2024
@al8n al8n modified the milestones: 0.18.0, 0.20 Oct 27, 2024
@al8n al8n modified the milestones: 0.20, 0.21 Nov 4, 2024
@al8n al8n modified the milestones: 0.21, 0.22, 0.23 Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant