You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+119Lines changed: 119 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -639,6 +639,125 @@ This matches the successful pattern from UAX #29 v4.0.0, providing consistency a
639
639
100% conformance maintained on all official Unicode test suites:
640
640
- Line Breaking: 19,338/19,338 tests passing
641
641
642
+
## Version 6.0.0 Performance Improvements
643
+
644
+
Version 6.0.0 focuses on memory optimization and ASCII fast paths to dramatically improve performance for common cases while maintaining 100% Unicode conformance.
645
+
646
+
### Type Size Reductions
647
+
648
+
All Unicode property types now use minimal storage:
649
+
650
+
-**UTS #15 (Normalization)**: `combiningClassMap` changed from `map[rune]int` to `map[rune]uint8`
651
+
- Unicode combining classes range 0-240, fit perfectly in uint8 (0-255)
652
+
- Memory savings: ~7.75 KB (50% reduction from 15.5 KB to 7.75 KB)
653
+
654
+
-**UAX #24 (Script Property)**: `Script` type changed from `int` to `uint8`
655
+
- 176 Unicode scripts fit comfortably in uint8 (0-255)
656
+
- Memory savings: 87.5% per value (8 bytes → 1 byte)
657
+
658
+
-**UAX #14 (Line Breaking)**: `BreakClass` type changed from `int` to `uint8`
659
+
- 66 break classes fit in uint8 (0-255)
660
+
- Memory savings: 87.5% per value (8 bytes → 1 byte)
661
+
662
+
**Impact**: All runtime structures using these types are 50-87.5% smaller, providing better CPU cache utilization.
663
+
664
+
### ASCII Fast Paths
665
+
666
+
Common case optimization: ASCII-only text gets dedicated fast paths with early returns:
667
+
668
+
**UTS #15 (Normalization)**:
669
+
- Added `isASCII()` check to NFC, NFD, NFKC, NFKD functions
0 commit comments