-
Notifications
You must be signed in to change notification settings - Fork 0
bug: comparison.md claims type preservation that doesn't exist #74
Description
Description
docs/comparison.md contains claims about cachekit's type handling that are contradicted by the competitive test suite.
Specific Issues
-
The comparison table (line ~46) includes a note about MessagePack tuple→list conversion but frames it as a Redis-only issue. It also happens in L1-only mode (
backend=None). -
Section "Why cachekit wins" for single-process apps claims "Same ~50ns performance (in-memory L1 cache)" without disclosing that L1 mode serializes data (unlike lru_cache which stores raw objects).
-
The "pluggable serializers (v1.0+)" note implies this will be fixed in a future version, but the issue is architectural — L1 serializes regardless of serializer choice.
Evidence
tests/competitive/test_head_to_head.py — 50 tests documenting actual behavior across 4 libraries.
Suggested Fix
Update comparison.md to honestly document:
- cachekit serializes in ALL modes (L1 and L2) for consistency
- This means tuples→lists, frozensets→lists even with
backend=None - The tradeoff: consistent behavior across backends vs type preservation
- cachekit's actual advantages: unhashable args, TTL, async, metrics, upgrade path