Trove - High performance collections for Java

  •        6507

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.

Trove eliminates the need to create Map.Entry wrappper objects for every item in a table and so reduces the O (big-oh) in the performance of the hashtable algorithm. The size of the tables used in Trove's maps/sets is always a prime number, improving the probability of an optimal distribution of entries across the table, and so reducing the the likelihood of performance-degrading collisions. Trove sets are not backed by maps, and so using a THashSet does not result in the allocation of an unused "values" array.

http://trove.starlight-systems.com/

Tags
Implementation
License
Platform

   




Related Projects

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.

Colt - Scientific and Technical Computing in Java


Colt distribution consists of several free Java libraries bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the CoreJava library, and the Concurrent library. It provides support for resizable arrays, dense, sparse matrices, histogramming functionality, Random Number Generators etc.

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.

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.

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


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.



Map-Collection - Personal treasure trove of shapefiles, svgs, and the like


Personal treasure trove of shapefiles, svgs, and the like

Mango - specialized iterators and functions


Mango is a Java library consisting of a number of iterators, algorithms and functions, loosely inspired by the C++ Standard Template Library. It has support of 12 iterators, 16 generic algorithms and variety of function types.

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.

android-map-utils - A collection of 3rd party map utility classes


A collection of 3rd party map utility classes

Hazelcast - In-Memory Data Grid for Java


Hazelcast is a clustering and highly scalable data distribution platform for Java. It supports Distributed implementations of java.util.{Queue, Set, List, Map}, java.util.concurrency.locks.Lock, java.util.concurrent.ExecutorService, Distributed Indexing and Query support, Dynamic scaling, partitioning with backups, fail-over, Web-based cluster monitoring tool and lot more.

100Projects - 100 Projects to be completed, for me its in Python


**Mp3 Tagger** – Modify and add ID3v1 tags to MP3 files. See if you can also add in the album art into the MP3 file’s header as well as other ID3v2 tags.**Log File Maker** – Make an application which logs various statistics in response to given events. This can be something that logs what an application does, what the system is doing, when something like a file changes etc.**Excel Spreadsheet Exporter** – Create an online application which can read in a file and create an Excel Spreadshe

android-custom-markers - A utility library for adding custom markers to Android map


A utility library for adding custom markers to Android map

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.

python-troveclient - OpenStack Database as a Service (Trove) Client


This is a client for the OpenStack Trove API. There's a Python API (the troveclient module), and a command-line script (trove). Each implements 100% of the OpenStack Trove API.See the Trove CLI Guide for information on how to use the trove command-line tool. You may also want to look at the OpenStack API documentation.

saccharina - Python 3 bindings for the National Library of Australia's Trove API


Python 3 bindings for the National Library of Australia's Trove API

trove - Maven build of trove -- http://trove.starlight-systems.com/


Maven build of trove -- http://trove.starlight-systems.com/

ga-library - It's a collection of utility code, with create a my library


It's a collection of utility code, with create a my library

SoftNet-Consult Java Utility Library


This Java class library is a collection of tools that are regularly required in all kinds of projects, but have unfortunately not found their way into the standard Java API. These utilities are used in several projects available on SourceForge.

Trove for Java


High performance collections for Java Objects and primitive types. ** Project moved to BitBucket ** https://bitbucket.org/robeden/trove Please submit all issues, requests and code there. Discussion forums remain on SF for the moment.