Releases: DevAM-Tools/LargeCollections
Releases · DevAM-Tools/LargeCollections
8.0.1
8.0.0
8.0.0
LargeBPlusTree
- Self-balancing B+Tree for sorted key-value storage
- O(log n) insert, delete, and lookup operations
- Efficient range queries with in-order iteration
- Factory methods for ascending/descending order with struct comparers
LargeKDTree
- High-performance KD-Tree for spatial indexing
- Implicit array layout (no pointer chasing)
- Allocation-free nearest neighbor and range queries
- Struct-based point accessors for JIT devirtualization
LargeBKDTree
- Block-based KD-Tree variant for large point sets
- Optimized for range queries and bounding box searches
Hash Collections (LargeSet, LargeDictionary)
- Replaced open addressing with separate chaining
- Index-based linking using
HashEntry<T>struct (similar to .NET Dictionary) - Free-list for efficient entry reuse after deletions
- Extend capacity before adding to avoid mid-operation rehashing
Enumerator Optimizations
- New
LargeStorageEnumerator<T>struct enumerator for LargeList - New
LargeSpanEnumerator<T>andReadOnlyLargeSpanEnumerator<T> - Direct chunk-by-chunk storage access instead of yield-based iteration
GetEnumerator()now returns struct enumerator for foreach optimization
Storage Optimizations
StorageGetRef,StorageGet,StorageSet: Inline index calculation (removedStorageGetIndexcall)StorageSwap: Direct index computation instead of 4 method calls- New
GetStructEnumerator()andAsStructEnumerable()extension methods
Other Changes
- Removed unnecessary
[MethodImpl(AggressiveInlining)]from yield-based methods - Updated README with user-friendly descriptions
- Added PackageTags: BPlusTree, KDTree, BKDTree, SpatialIndex, RangeQuery, NearestNeighbor
7.0.0
-Refactor code structure for improved readability and maintainability
6.0.0
6.0.0
-Add LargeSpan and ReadOnlyLargeSpan for enhanced slicing capabilities
-Add LargeLinkedList
-bug fixes
-Refactor LargeDictionary
-Rewrite tests
5.0.2
5.0.2
-Fix major bug in StorageResize
5.0.1
5.0.1
-Fix span API conditions
-Add net6.0 and net8.0 as target framework
5.0.0
-Add LargeObservableCollection and ReadOnlyLargeObservableCollection
-Interface redesign
-Bug fixes
-Improve Tests
-Upgrade sln to slnx
4.0.0
-Bug fixes
-Performance improvements
-API improvements
-Improved test coverage
-netstandard2.0 support