Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

Releases: vsonnier/hppcrt

0.7.5-RT

11 Jul 19:22
Compare
Choose a tag to compare

[0.7.5]
** Bug fixes
HPPCRT-49: Heaps wrongly use Comparable/Comparator for contains(), removeAll(), equals(). (#54)

0.7.4-RT

30 Jan 22:51
Compare
Choose a tag to compare

[0.7.4]
** Bug fixes
HPPCRT-48: Templates are mistakingly included in final Jar

0.7.3-RT

27 Jan 20:14
Compare
Choose a tag to compare

[0.7.3]
** Other changes
PR #5: OSGi descriptors in JAR manifests, bundle packaging, by Guillaume Delafosse. (Copied from HPPC)

HPPCRT-47: Modernize the build by using Retrolambda (https://github.com/orfjackal/retrolambda) to generate a unique retro-compatible Jar.
This is fine since the API was the same between the 1.6 and 1.5 jars previously.
As a contrast, building the HPPC-RT project now REQUIRES Java 8 due to Retrolambda.

0.7.2-RT

21 Oct 19:34
Compare
Choose a tag to compare

[0.7.2]
** API-breaking changes
HPPCRT-46: Remove CurstomHash and replace by equals/hashCode overrides in normal hash containers.

0.7.1-RT

21 Jul 16:44
Compare
Choose a tag to compare

[0.7.1]
** Bug fixes
HPPCRT-45: API with intervals arguments is inconsistent with JDK conventions.

0.7.0-RT

19 Jul 21:13
Compare
Choose a tag to compare

[0.7.0]
This release fix important bugs, and align on some refactorings or changes of HPPC v0.7.1, hence the version number.

** API-breaking changes / New features

HPPCRT-36: Simplify specific IdentityHash impl by deriving a specific CustomHash
HPPCRT-40: Remove DoubleLinkedIntSet and BitSet
HPPCRT-41: Remove senseless key types for CustomHash containers. Now CustomHash are only generated for int, long, Object keys.
HPPCRT-42: Remove all Boolean containers versions. Usage for them is either uncommon, or can be easily emulated with the other containers.
HPPCRT-43: Remove Stacks. Replaced by adding a few stack-emulating methods to KTypeArrayList.
HPPCRT-44: Simplify LinkedList iteration. Removed isFirst(), isLast(), isHead(), isTail() iterator methods and replace them by hasAfter()/ hashBefore().
HPPC-140: On maps, values() and keys() returns a full-fledged Collection. Indeed, keys() and values() already returned Collection from a long time in HPPC-RT.
Still, rename the retuned types from KeysContainer/ValuesContainer into KeysCollection/ValuesCollection to stress on that fact.

HPPCRT-37: API changes and internal code refactorings from HPPC v0.7.0:

  • HPPC-104 + HPPC-116: Ability to create a read-only view of a map. For that, lset/lget/lslot..., all l* methods from hash containers are removed.
  • HPPC-105: renamed hppcrt-core to hppcrt, and hppcrt-templateprocessor into hppcrt-template-processor
  • HPPC-109: Moved @author tags to NOTICE.txt.
  • HPPC-114: Buffer resizing and allocation should be throwing non-assertion mode exceptions.
  • HPPC-117: Static factory methods newInstanceXXX() renamed into newInstance() everywhere with proper overrides.
  • HPPC-118: Buffer arrays for generic types should be declared as Object[] to avoid compiler-injected automatic casts.
  • HPPC-121: Renamed methods:
    T.removeFirstOccurrences -> T.removeFirst
    T.removeLastOccurrences -> T.removeLast
    T.removeAllOccurrences -> T.removeAll(type)
  • HPPC-125: equals should not compare with subclasses of itself.
  • HPPC-133: KTypeContainer.toArray(Class) now accepts any array
    component type; runtime checks will throw ArrayStoreException if not
    compatible.
  • HPPC-141: Dropped mutable type wrappers (*Holder classes)
  • HPPC-145: Removed any "Open" infix from all Hash container classes:
    KTypeOpenHashSet -> KTypeHashSet
    KTypeVTypeOpenHashMap -> KTypeVTypeHashMap
  • HPPC-149: Recognize tests.seed as the initialization seed for perturbation key mixing for hash containers.
  • HPPC-152: Add a faster RPRG, XorShift128P as a replacement of XorShiftRandom.

** Internal changes, cleanups, optimizations...etc.

HPPCRT-36: Simplify specific IdentityHash impl by deriving a specific CustomHash
HPPC-110: putOrAdd and other primitive-only methods should be template-compilable.
HPPC-120: Rework entry shifting routine to be less hairy
HPPC-134: Set and Map's removeAll() should pick the best removal strategy.

** Bug fixes

HPPCRT-35: Hash to hash batch copying hangs, regression from the working perturbation policy

HPPC-130: removeAll(KTypeLookupContainer) had an incorrect
generic signature of:
public int removeAll(final KTypeLookupContainer<? extends KType> c)
now corrected to:
public int removeAll(final KTypeLookupContainer<? super KType> c)
(for primitive types this does not apply).

HPPC-131: retainAll(KTypeLookupContainer) had an incorrect
generic signature of:
public int retainAll(final KTypeLookupContainer<? extends KType> c)
now corrected to:
public int retainAll(final KTypeLookupContainer<? super KType> c)
(for primitive types this does not apply).

HPPC-135: KTypeVTypeAssociativeContainer#removeAll had an incorrect
generic signature of:
public int removeAll(KTypeContainer<? extends KType> container)
now corrected to:
public int removeAll(KTypeContainer<? super KType> container)

0.6.8-RT

27 Feb 18:55
Compare
Choose a tag to compare

[0.6.8]
** API-breaking changes
HPPCRT-34: Relax signature of sort() methods to match JDK ones.(stay compatible as before)
** Bug fixes
HPPCRT-32: CustomHashSet wrongly uses equals()/hashCode() instead of strategies
** New features
HPPC-101: Drop JUB, switch to JMH for benchmarks
Issue #27: Caliper benchmark framework looks abandoned, migrate the benchmarks to JMH
HPPCRT-33: Adopt perfomance enhancements found in fastutil 6.6x and Koloboke

0.6.7-RT

25 Oct 19:35
Compare
Choose a tag to compare

[0.6.7]
** Bug fixes
HPPCRT-29 : Regression: setDefaultValue() method absent from v0.66 IndexedHeaps
HPPCRT-30: Object[VType]OpenHashMap.putOrAdd() wrong in Robin-Hood version
** New features
HPPCRT-31: Hash containers, merge allocated array and keys for performance

0.6.6-RT

25 Oct 19:35
Compare
Choose a tag to compare

[0.6.6]
** API-breaking changes
HPPCRT-23: Make KTtypeIndexedPriorityQueue a IntKTypeMap, plus API additions
HPPCRT-27: Removed Guava adapter classes, which had very little value anyway
** Bug fixes
HPPC-92 : ObjectOpenHashSet/Generics -ClassCastException when accesing to keys[] array
HPPCRT-22 : Follow-up of HPPCRT-18 for more Perturbation-free fixes in Hashs containers
HPPCRT-24: Bug in Heaps with contains()/removeAllOccurences() not using Comparable/Comparator
HPPCRT-25: KTypeLinkedList.descendingForEach(Predicate) is not working.
** New features
HPPCRT-23: Make KTtypeIndexedPriorityQueue a IntKTypeMap, plus API additions
HPPCRT-26: Add specialized IdentityHash containers
HPPCRT-28: Sort improvements : generic KTypeIndexedContainer sort methods
[0.6.5]
** API-breaking changes
HPPCRT-20: Repackaging into com.carootsearch.hppcrt.lists|sets|maps|heaps
HPPCRT-18: Remove Perturbation methods in Hashs and replace with reverse iterationPerturbation vs. Non-perturbations Hash methods are removed, no longer needed.
** Bug fixes
HPPCRT-13 : Heaps equals() errors and various other equals() inconsistencies bug enhancement medium prio
HPPCRT-11 : Iterators states are inconsistent
HPPCRT-10: Heaps removeAll(Predicate) is not exception - safe
HPPCRT-6: Stack use ArrayList.sort() method for sorting, which leads to counterintuitive sort
HPPCRT-1 : initial constructor sizes of some containers do not garantee zero reallocations
** New features
HPPCRT-17: Robin Hood Hashing for Object and CustomHash containers
HPPCRT-14: Add a forEach(KTypeVTypePredicate) for the KTypeVTypeAssociativeContainer
HPPCRT-12 : Make ArrayDeque a KTypeIndexedContainer
** Changes in functionality
HPPCRT-8 : consistently Implement trim/trim-to-size methods using c = c.clone() idiom
HPPCRT-19: Drop hash startegies from OpenHash implementations, and replace it with dedicated CustomHash classes