kotlinx.collections.immutable
kotlinx.collections.immutable copied to clipboard
Immutable persistent collections for Kotlin
`toPersistentSet` and `toPersistentMap` now working in a similar way as `toPersistentList` The contract in the KDoc was not fulfilled as it says for `toPersistentSet`: > If the receiver is already...
I have a few situations where I want to enforce that my map is ordered, say for a list of settings profiles that are keyed by name, but also should...
It's unclear to me whether old state gets trapped in these persistent collections and maintain strong references that prevent garbage collection. For example if I have `persistentMap().put("foo", GiantObject()).put("foo", GiantObject(2))`, does...
Currently blocked by https://github.com/Kotlin/kotlinx.html/issues/81
Persistent ordered set can be implemented with a persistent hash set + some persistent list that keeps insertion order. Unfortunately the current persistent vector implementation doesn't suit well as such...
Benchmark parameters adjustment and benchmark result files will be removed before merging. Introducing `CollisionTrieNode` for collision nodes (polymorphism approach) adds significant performance losses, see hashSet regressions: https://teamcity.jetbrains.com/viewLog.html?buildId=2469110&buildTypeId=KotlinTools_KotlinxCollectionsImmutable_BenchmarkHashIterations&tab=artifacts#%2FbenchmarkResults Thus, collision nodes...
`immutable*Of(…)` functions shouldn't be deprecated. They should return `Immutable*` instead of `Persistent*`. Currently, e.g.: ``` val x = immutableSetOf(1, 2, 3) val y: ImmutableSet = immutableSetOf(1, 2, 3) // x...
Iterable.intersect(other: Iterable) takes a very long time to complete when called with a PersistentList as a parameter. Same function works faster with other iterables like List and Set. It is...