-
Notifications
You must be signed in to change notification settings - Fork 158
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
Good ideas for queue #185
Comments
Also, it will be a good idea to add raw memcpy to benchmark. This will give us a lower limit of how fast a logger can be. |
Hello, Thanks for sharing and for using quill. There are multiple ways to implement a SPSC queue. Also when designing the queue it boils down to mainly two options : a) a single typed queue where you specify the type as part of the queue e.g. b) a variant queue where you do not specify the type of object you are pushing, instead you just reserve and write to a number of bytes in a queue and therefore you can write any object, but you also need to know how to retrieve that object later. One possible implementation of a single typed queue is the rigtorp one above. |
I am not suggesting you to use rigtorp one above. I really like the idea used to avoid false sharing. It gave writer_index and reader_index, it's own cache line. Also, it created a copy of writer index and reader index so that each core can cache those index values. |
A local cache for the consumer was added in #196 |
Hi,
I have been using quill and it works well for my use case. I just wanted to share another implementation of SPSC queue which I found interesting.
https://github.com/rigtorp/SPSCQueue
https://rigtorp.se/ringbuffer/
Please feel free to close this issue.
The text was updated successfully, but these errors were encountered: