fifo
FIFO queue. Little go generics experiment. (by nikandfor)
gocommons
Common Go lang data structures, utilities, ML algorithms etc (by hishboy)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fifo
Posts with mentions or reviews of fifo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-21.
-
Memory efficient FIFO structure. Could it be that simple?
I meant something like https://github.com/nikandfor/fifo/blob/master/fifo.go
gocommons
Posts with mentions or reviews of gocommons.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-21.
-
Memory efficient FIFO structure. Could it be that simple?
I needed a memory efficient, performant and go-routine-safe queue ie FIFO data structure. To try not to reinvent the wheel I went on google in search of one. After a minute or two I found a slice based one and it served me well until I ran into one issue. When the queue was filled with millions of items and then emptied, I noticed that the memory allocation didn't decrease. So I tried to force GC but that didn't work. After more research and testing I could not reduce existing slice memory allocation without allocating new slice and copy any data remaining in the old one. That was not acceptable for a heavy trafficked queue. It cannot pause all reads and writes to wait for memory shuffling. So I went back on google and found this peace of code. Then I was like "Oh yea I know this from my CS class - a simple Singly Linked List. Haven't had a need to implement one since then."