Releases: ashvardanian/StringZilla
Releases · ashvardanian/StringZilla
v1.2.0
v1.1.3
v1.1.2
v1.1.1
v1.1.0
1.1.0 (2023-08-06)
New Functionality
Do you want to work with large arrays of separate strings? There is a way! The following code is now valid:
from stringzilla import Str, File, Strs
text: Str = Str('... very large string or file ...')
lines: Strs = text.split(separator='\n')
lines.sort()
lines.shuffle(seed=42)
sorted_copy: Strs = lines.sorted()
shuffled_copy: Strs = lines.shuffled(seed=42)
lines.append(shuffled_copy.pop(0))
lines.append('Pythonic string')
lines.extend(shuffled_copy)
Performance
You can expect even those trivial operations to be 8x faster than native Python 🤯
Add
Fix
v1.0.3
v1.0.2
v1.0.1
v1.0.0
1.0.0 (2023-07-13)
Add
sort()
interface for Python (3fddfff)- Arm Neon character counter (db2f523)
- Auto-fetching Google Benchmark (28311f3)
- Benchmarks on synthetic strings (d146196)
- comparsion operators (febf8b1)
- Counting specific characters or subtrings (67e71d8)
- Examples of lcoating unique strings (8f5a09b)
- get item with slice (c31de96)
- Hybrid sorting with Radix and Quick Sorts (7fd8e26)
- Merge-, Insertion-, Quick-sorting algos (826d8ee)
- Merge-sort for strings (37076b5)
- Python bindings (1c759c2)
- Search benchmark (7868c0e)
- String conversion functionality (46ef2b7)
- support of negative slices (e020181)
- test for slice operator (a3518e0)
- tests for slices (c3b44ff)
- tests for Slices (c7e8b2f)
- Windows support (f2279d3)
Fix
comparator
function signature (16dade3)misaligned_len
estimate (b3a1a93)qsort_s
vsqsort_r
on MacOS (ba58a29)- Compilation (b896f77)
- Compilation (71ff4df)
- Identical overlapping semantics to Python (f1ffe51)
- Matching Python string semantics (1067090)
- Misaligned count and non C99 features (c84fa94)
- remove unnecessary include (16c7daf)
- slice function logic (40db4f2)
- Slices (fa017e2)
- speculative_neon_t count (571e0a5)
- Switch to shared mappings to reduce RAM use (07bc055)
- Using the right pragma for GCC ivdep (ca3b62d)
Fixes
- RNG instantiation UB, reducing avoiding compiler optimization for the callback. (1ae31a0)
Improve
- Mimic hyper-scalar code (f2d4e28)
Make
- Add GitHub CI (ba333db)
- Bump VERSION (44a496e)
- Bump VERSION (3466f0e)
- Cleaning build caches on Windows (48a27a7)
- Fix Windows PyPi releases (de14a50)
- Semantic Versioning (0ea1346)
Refacot
- Styling (e4177b2)
Refactor
- args checking (289522d)
- C++17 -> C99 (e4429ef)
- comparsion operators (c33f2d1)
- Deprecating C++ version in favor of C99 (042e59e)
- Directory structure (c36bd68)
- Drop slow sorts (1c9f550)
- Larger arrays for modern CPUs (96e7234)
- Moving constants to the top (b3c2da2)
- no need to cast to string (e70c082)
- Regrouping folders (d9fb16d)
- rename
Slices
toStrs
(66a6e2c) - Rename bindings file (f54b791)
- Tests, docs (50adb32)
- Using
strzl_array_t
structure (a762a1b)