Stringzilla

Latest version: v3.10.10

Safety actively analyzes 679296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 11

2.0.4

[2.0.4](https://github.com/ashvardanian/stringzilla/compare/v2.0.3...v2.0.4) (2024-01-04)


Fix

* `qsort_r` argument order ([cf07f5c](https://github.com/ashvardanian/stringzilla/commit/cf07f5c35d8eaa6a008e048e8a3e469b6600646a))

2.0.3

[2.0.3](https://github.com/ashvardanian/stringzilla/compare/v2.0.2...v2.0.3) (2023-11-19)


Fix

* Returning `NULL` without setting the error ([922d7c5](https://github.com/ashvardanian/stringzilla/commit/922d7c5426509e9d3a444274c84fbec728d20510))

2.0.2

[2.0.2](https://github.com/ashvardanian/stringzilla/compare/v2.0.1...v2.0.2) (2023-11-04)


Docs

* Improved intro ([ffb4d4a](https://github.com/ashvardanian/stringzilla/commit/ffb4d4ab0f9fb080fb7667414536317ffe14472a))

Make

* Adding `.npmignore` ([ebc8843](https://github.com/ashvardanian/stringzilla/commit/ebc884322826d34357113d33d7acbb9df8823b2a))
* Deprecate old benchmarks ([832a532](https://github.com/ashvardanian/stringzilla/commit/832a5329dba7ca2d99d90cde4d32af8779a1448e))
* Match directory structure of SimSIMD ([6d812ef](https://github.com/ashvardanian/stringzilla/commit/6d812efaabe93fc021609c59f481596248742f9d))

2.0.1

[2.0.1](https://github.com/ashvardanian/stringzilla/compare/v2.0.0...v2.0.1) (2023-10-10)


Docs

* Linking issues and refreshing C part ([9a6297c](https://github.com/ashvardanian/stringzilla/commit/9a6297cbc9a3ae958a3f876c3cb8e10e0677e991))

Fix

* Allow no args to `split` ([048c55a](https://github.com/ashvardanian/stringzilla/commit/048c55ae38eea0f1eca68c6063dea46b119c70eb))

Make

* NumPy test dependencies ([f4c2efe](https://github.com/ashvardanian/stringzilla/commit/f4c2efec35f1de5114efabb46723bd3adf6a5389))

Refactor

* Ops order and style ([d3214e3](https://github.com/ashvardanian/stringzilla/commit/d3214e33e52235c59e5764d5884d8dd8d024b6b1))

2.0.0

Python

So why would anyone replace the easy-to-use PyBind11 with almost 2,000 lines of pure CPython bindings?! Of course, to lower the latency! PyBind11 wraps every C++ object with a smart pointer, puts a hash table next to it, and addresses function pointers with `std::string` key lookups ๐Ÿคฏ

Let's see where it gets us if benchmarking with the "Leipzig1M" dataset. The bandwidth-oriented functions are just as fast as in the past:

- Hashing the dataset: 77 ms for ๐Ÿ vs 16 ms for ๐Ÿฆ– ~ __4.5x faster__
- Counting the number of "the": 151 ms for ๐Ÿ vs 45 ms for ๐Ÿฆ– ~ __3.3x faster__
- Split all whitespace-delimited words: 782 ms for ๐Ÿ vs 338 ms for ๐Ÿฆ–~ __2.3x faster__
- Split around every "the": 240 ms for ๐Ÿ vs 48 ms for ๐Ÿฆ– ~ __5x faster__

What about the latency-oriented ones?

- Find the first whitespace: 1 ยตs for ๐Ÿ vs 3 ยตs for ๐Ÿฆ– ~ ___3x slower___, where previously it was 15ยต and __15x slower__
- Partition around the first whitespace: 73 ms for ๐Ÿ vs 33 ยตs for ๐Ÿฆ– ~ __2212x faster__ ๐Ÿฅณ

JavaScript

In an effort to bring faster string operations, together with nairihar, we have started the NodeJS binding. It's just a skeleton, and has poor performance for now, but you can use it as a starting point to help us implement faster `Str` class for JavaScript ๐Ÿค—

1.2.2

[1.2.2](https://github.com/ashvardanian/stringzilla/compare/v1.2.1...v1.2.2) (2023-09-18)


Fix

* Use different functions depending on arch ([4f1414e](https://github.com/ashvardanian/stringzilla/commit/4f1414efcc9c871c72b73bd5206c6ceac43b1330))

Page 9 of 11

ยฉ 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.