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: CHANGELOG.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
8
9
+
## [Unreleased]
10
+
11
+
### Added
12
+
13
+
- Automated `pytest` coverage for the public API, deterministic generator behavior, doctests, and opt-in performance benchmarks.
14
+
15
+
### Changed
16
+
17
+
- Reduced `TSIDGenerator` hot-path overhead by shrinking the locked section and precomputing the fixed node bit segment.
18
+
- Optimized generic base decoding by replacing repeated `ALPHABET.index()` lookups with a precomputed lookup table.
19
+
- Added fast hexadecimal paths for `TSID.to_string('X'/'x')` and `TSID.from_string('X'/'x')`.
20
+
21
+
### Performance
22
+
23
+
- Local `perf` benchmark results on `macOS-15.7.3-arm64-arm-64bit`:
24
+
-`tsid_from_string_X` improved from about `0.66M ops/s` to about `3.43M ops/s`.
25
+
-`tsid_to_string_X` improved from about `0.82M ops/s` to about `4.18M ops/s`.
26
+
- Shared-generator throughput improved from about `1.58M ops/s` to about `1.68M ops/s` in the 1-thread case, with similar throughput retained under multi-thread contention.
0 commit comments