lane
lane copied to clipboard
Add a circular buffer data structure
http://en.wikipedia.org/wiki/Circular_buffer
I have a queue implementation backed by a ring-buffer at https://github.com/eapache/queue - it ends up being much faster because it causes less garbage for the garbage collector.
Looks neat!
A few questions:
- would you be open to the idea of merging it into the lane package. Your license would be respected of course, and your copyright added to the file header.
- This would imply a few refactoring (done in a specific branch, where everything would be discussed and added through pull requests):
- Renaming the data structure in order not to conflict with existing namespaces in the lane package.
- Replacing the panic calls with proper errors return
Let me know what you think :)
I am open to the idea, though I will continue to maintain the existing one. I use it in https://github.com/eapache/channels/ where the lack of locking is a fairly significant performance improvement (in fact I originally wrote it embedded in that package, and factored it out later).
Okay, fair enough. So is it okay for me to adapt your structure in https://github.com/oleiade/lane while keeping your license?
Let me open a specific branch and pull request, and give me you're impressions.
Go right ahead, the license is MIT which is quite permissive.
I also have the following package you can use https://github.com/fzakaria/circularfifoqueue (It was taken from a similar java apache package)
I was thinking if you made