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

Add a circular buffer data structure #2

Open
oleiade opened this issue Jan 24, 2014 · 6 comments
Open

Add a circular buffer data structure #2

oleiade opened this issue Jan 24, 2014 · 6 comments
Assignees
Labels

Comments

@oleiade
Copy link
Owner

oleiade commented Jan 24, 2014

http://en.wikipedia.org/wiki/Circular_buffer

@ghost ghost assigned oleiade Jan 24, 2014
@eapache
Copy link

eapache commented Jun 23, 2014

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.

@oleiade
Copy link
Owner Author

oleiade commented Jun 23, 2014

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 :)

@eapache
Copy link

eapache commented Jun 23, 2014

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).

@oleiade
Copy link
Owner Author

oleiade commented Jun 23, 2014

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.

@eapache
Copy link

eapache commented Jun 23, 2014

Go right ahead, the license is MIT which is quite permissive.

@fzakaria
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants