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

Folly's LockFreeRingBuffer #153

Open
sevagh opened this issue Apr 7, 2024 · 2 comments
Open

Folly's LockFreeRingBuffer #153

sevagh opened this issue Apr 7, 2024 · 2 comments

Comments

@sevagh
Copy link

sevagh commented Apr 7, 2024

Hello,

I notice your benchmark has a copied version of the folly SPSC Queue to include with the benchmark code. I'm interested in your library's circular buffer, and I found folly has a LockFreeRingBuffer in the experimental code: https://github.com/facebook/folly/blob/main/folly/experimental/LockFreeRingBuffer.h

I tried to include it in your existing benchmark, but ended up needing to copy a bunch of header files from Folly (that include even more Header files) e.g.:

benchmarks/ext/folly/LockFreeRingBuffer.h
benchmarks/ext/folly/Portability.h
benchmarks/ext/folly/Traits.h
benchmarks/ext/folly/detail/
benchmarks/ext/folly/portability/
benchmarks/ext/folly/synchronization/

I feel like if I spend more time doing this it may be pointless so I paused for now.

What are your thoughts on the LockFreeRingBuffer? Is it suitable to include in these benchmarks? When the ProducerConsumerQueue was added, was it adapted to remove its dependencies on the rest of folly?

Thanks!

@cameron314
Copy link
Owner

cameron314 commented Apr 7, 2024

Probably worth comparing against. I was not aware it existed :-) It looks like I only stripped out one dependency (Boost) for ProducerConsumerQueue. For other benchmarks I've done elsewhere, I have ended up including most of the third-party library for the support headers to work, though obviously I try to avoid that where possible.

@sevagh
Copy link
Author

sevagh commented Apr 7, 2024

I'll work harder then and hope to have something to report back as a PR.

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

No branches or pull requests

2 participants