Agrona - Library to build high-performance applications in Java and C++

  •        492

Agrona provides a library of data structures and utility methods that are a common need when building high-performance applications in Java and C++. It supports Buffers, Map, Sets, Cache, Queues and lot more.

https://github.com/real-logic/Agrona

Tags
Implementation
License
Platform

   




Related Projects

Eclipse Collections - Best Java Collection Framework


Eclipse Collections is a collections framework for Java. It has JDK-compatible List, Set and Map implementations with a rich API, additional types not found in the JDK like Bags, Multimaps, and set of utility classes that work with any JDK compatible Collections, Arrays, Maps, or Strings. The iteration protocol was inspired by the Smalltalk collection framework. It maximizes the power of Java 8 Lambda expressions and method references with rich APIs directly available on your collections.

Apache Commons - Alternative to Java collection


Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. It provides collection class like Identity map, Ordered map, Reference map, Composite collections, Bag interface etc.

gs-collections - A supplement or replacement for the Java Collections Framework


GS Collections is a collections framework for Java. It has JDK-compatible List, Set and Map implementations with a rich API and set of utility classes that work with any JDK compatible Collections, Arrays, Maps or Strings. The iteration protocol was inspired by the Smalltalk collection framework. It provides replacements for ArrayList, HashSet, and HashMap optimized for performance and memory usage.

Trove - High performance collections for Java


Trove provides fast, lightweight implementations of the java.util Collections API. These implementations are designed to be pluggable replacements for their JDK equivalents. This gap in the JDK is often addressed by using the "wrapper" classes (java.lang.Integer, java.lang.Float, etc.) with Object-based collections. For most applications, however, collections which store primitives directly will require less space and yield significant performance gains.



Koloboke - Java Collections till the last breadcrumb of memory and performance


Koloboke aims to replace the standard Java collections and streams with more efficient implementations. The current version of Koloboke focuses on replacing java.util.HashSet and java.util.HashMap. It provides a complete set of primitive type implementations for each collection. Its able to avoid the expensive boxing/unboxing of primitives and saves memory for boxed primitive objects. It is the fastest and the most memory efficient library implementing hash maps and sets.

immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity


Immutable data cannot be changed once created, leading to much simpler application development, no defensive copying, and enabling advanced memoization and change detection techniques with simple logic. Persistent data presents a mutative API which does not update the data in-place, but instead always yields new updated data.

Fastutil - Fast & compact type-specific collections for Java


Fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion. It also provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files.

gota - Gota: DataFrames and data wrangling in Go (Golang)


This is an implementation of DataFrames, Series and data wrangling methods for the Go programming language. The API is still in flux so use at your own risk.The term DataFrame typically refers to a tabular dataset that can be viewed as a two dimensional table. Often the columns of this dataset refers to a list of features, while the rows represent a number of measurements. As the data on the real world is not perfect, DataFrame supports non measurements or NaN elements.

HPPC - High Performance Primitive Collections for Java


HPPC provides template-generated implementations of typical collections, such as lists, sets and maps, for all Java primitive types. The primary driving force behind HPPC is optimization for highest performance and memory efficiency.

Vavr - Object-functional language extension to Java


Vavr is an object-functional language extension to Java 8, which aims to reduce the lines of code and increase code quality. It provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching and much more.

goskiplist - A skip list implementation in Go


This is a library implementing skip lists for the Go programming language (http://golang.org/).Skip lists are a data structure that can be used in place of balanced trees. Skip lists use probabilistic balancing rather than strictly enforced balancing and as a result the algorithms for insertion and deletion in skip lists are much simpler and significantly faster than equivalent algorithms for balanced trees.

Wintellect's Power Collections for .NET


Welcome to Power Collections, A Community Project to Develop the Best Public License type safe Collection Classes for .NET. Power Collections makes heavy use of .NET Generics. The goal of the project is to provide generic collection classes that are not available in the .NET ...

JCTools - Java Concurrency Tools for the JVM


Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.

Tape - A lightning fast, transactional, file-based FIFO for Android and Java.


A lightning fast, transactional, file-based FIFO for Android and Java. QueueFile is a lightning-fast, transactional, file-based FIFO. Addition and removal from an instance is an O(1) operation and is atomic. Writes are synchronous; data will be written to disk before an operation returns. The underlying file is structured to survive process and even system crashes and if an I/O exception is thrown during a mutating change, the change is aborted.

go-adaptive-radix-tree - Adaptive Radix Trees implemented in Go


This library provides a Go implementation of the Adaptive Radix Tree (ART).The go-adaptive-radix-tree library overperforms go-art library. The go-adaptive-radix-tree doesn't allocate any memory during search operations. It also provides prefix based iteration over the tree.

levenshtein - This is the Go implementation to calculate Levenshtein Distance.


The library is fully capable of working with non-ascii strings. But the strings are not normalized. That is left as a user-dependant use case. Please normalize the strings before passing it to the library if you have such a requirement.Words selected are - "levenshtein" and "frankenstein".

collections - Utility classes to help build and manipulate Java collections.


Utility classes to help build and manipulate Java collections.

collection - The collection package for Dart contains a number of separate libraries with utility functions and classes that makes working with collections easier


Contains utility functions and classes in the style of dart:collection to make working with collections easier.The package contains functions that operate on lists.