Agrona
High Performance data structures and utility methods for Java (by real-logic)
Primitive-Collections
A Primitive Collection library that reduces memory usage and improves performance and provides a lot of QoL (by Speiger)
Our great sponsors
Agrona | Primitive-Collections | |
---|---|---|
5 | 1 | |
2,725 | 36 | |
0.7% | - | |
8.4 | 6.0 | |
15 days ago | 6 months ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
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.
Agrona
Posts with mentions or reviews of Agrona.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-27.
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
Aeron for low latency apps and Agrona is you're using Aeron for data structures
-
Need help navigating the Java ecosystem (coming from C++)
Martin Thompson is one of the leaders in that space: his blog is a really great place to start. His Agrona library is a bunch of high-performance data structures, which you can use directly, but which can also serve as examples of writing such code.
-
WritableImage and real-time ray-tracing. I need help!
ByteBuffer methods have quite a bit of overhead. You could further try to (1) writing to a byte[] first and then using the put(byte[]) method, or (2) use sun.misc.Unsafe::putByte (maybe try with Agrona's DirectBuffer and copy the necessary lines if need be).
-
Are you interested in learning about low latency zero allocation programming?
That's great to hear. Yes I'm familiar with Chronicle but by far the highest value library that we use is https://github.com/real-logic/agrona. It's by Martin Thompson - the original author of the LMAX disruptor. It's very well written. In fact reading the source code of Agrona is probably one of the best ways of learning about this field.
Primitive-Collections
Posts with mentions or reviews of Primitive-Collections.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-14.
What are some alternatives?
When comparing Agrona and Primitive-Collections you can also consider the following projects:
Disruptor - High Performance Inter-Thread Messaging Library
fastutil - fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues.
Chronicle Queue - Micro second messaging that stores everything to disk
Eclipse Collections - Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
JCTools
Koloboke - Java Collections till the last breadcrumb of memory and performance
Trove
HPPC - High Performance Primitive Collections for Java
GS Collections - GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections. https://www.eclipse.org/collections/