@@ -15,6 +15,7 @@ So, to accelerate the development of the [`StringZilla`](https://github.com/ashv
1515- [ ` aHash ` ] ( https://github.com/tkaitchuck/aHash ) and [ ` crc32fast ` ] ( https://github.com/srijs/rust-crc32fast ) for hashing.
1616- [ ` aho_corasick ` ] ( https://github.com/BurntSushi/aho-corasick ) and [ ` regex ` ] ( https://github.com/rust-lang/regex ) for multi-search.
1717- [ ` arrow ` ] ( https://github.com/apache/arrow-rs ) and [ ` polars ` ] ( https://github.com/pola-rs/polars ) for collections.
18+ - [ ` ring ` ] ( https://github.com/briansmith/ring ) borrowing Asm from BoringSSL and OpenSSL.
1819
1920Of course, the functionality of the projects is different, as are the APIs and the usage patterns.
2021So, I focus on the workloads for which StringZilla was designed and compare the throughput of the core operations.
@@ -351,6 +352,27 @@ Or, how does the average Levenshtein distance among the top-k nearest neighbors
351352It must clearly decrease, but how fast, and how does that compare to ground truth?
352353For that please, check out the [ HashEvals] ( https://github.com/ashvardanian/HashEvals ) repository.
353354
355+ ## Encryption and Decryption Benchmarks
356+
357+ Encryption:
358+
359+ | Library | ≅ 100 bytes lines | ≅ 1'000 bytes lines |
360+ | --------------------- | ----------------: | ------------------: |
361+ | Rust 🦀 | | |
362+ | ` libsodium::chacha20 ` | 0.20 GiB/s | 0.71 GiB/s |
363+ | ` ring::chacha20 ` | 0.39 GiB/s | 1.19 GiB/s |
364+ | ` ring::aes256 ` | 0.61 GiB/s | 2.89 GiB/s |
365+
366+
367+ Decryption:
368+
369+ | Library | ≅ 100 bytes lines | ≅ 1'000 bytes lines |
370+ | --------------------- | ----------------: | ------------------: |
371+ | Rust 🦀 | | |
372+ | ` libsodium::chacha20 ` | 0.20 GiB/s | 0.69 GiB/s |
373+ | ` ring::chacha20 ` | 0.42 GiB/s | 1.08 GiB/s |
374+ | ` ring::aes256 ` | 0.85 GiB/s | 2.48 GiB/s |
375+
354376## Replicating the Results
355377
356378### Replicating the Results in Rust 🦀
0 commit comments