Skip to content

Releases: Ts-Pytham/DotNet.AdvancedCollections

Release v1.1.0: LRU Cache implementation + Optimization

13 Feb 05:25

Choose a tag to compare

v1.1.0 - LRU Cache Implementation

🎉 New Data Structure

LRUCache<TKey, TValue>

A high-performance Least Recently Used cache with fixed capacity and automatic eviction.

Features:

  • ⚡ O(1) operations: Put, Get, Remove, ContainsKey, TryAdd
  • 🔄 Automatic LRU eviction when capacity is reached
  • 💾 Memory efficient (~190 bytes per item)
  • 📦 Generic implementation

Use Cases:

  • API response caching
  • Database query results
  • Session data storage
  • Computed results caching

📊 Performance Improvements

  • SortedList LowerBound optimization: 16-22% faster on typical workloads

📚 Documentation

  • New comprehensive guide: docs/caches.md
  • Real-world examples (API cache, DB cache)
  • Performance characteristics and best practices

🗺️ Roadmap

Added planned features:

  • AVL Tree (self-balancing BST)
  • Skip List
  • Indexed Priority Queue
  • Thread-safe variants

🐛 Bug Fixes

  • Fixed LRUCache.Clear() state management
  • Fixed AddFirst() edge case
  • Corrected BST documentation

📈 Statistics

  • 39 new unit tests (all passing)
  • 7 new benchmarks
  • 1 new data structure
  • 3 bugs fixed

Full changelog: v1.0.0...v1.1.0

v1.0.0

10 Feb 06:32

Choose a tag to compare

## What's New

Initial release of DotNet.AdvancedCollections - Advanced data structures for modern .NET.

### Data Structures Included
- DoublyLinkedList<T>
- SortedList<T>
- PriorityQueue<T>
- Deque<T>
- PriorityStack<T>
- BinarySearchTree<T>
- Graph<TVertex, TEdge>

### Documentation
Full documentation available at: https://ts-pytham.github.io/DotNet.AdvancedCollections/

See CHANGELOG.md for full details.