ashvardanian/stringzilla

Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveraging NEON, AVX2, AVX-512, SVE, GPGPU, & SWAR to accelerate search, hashing,...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 56 minutes ago
Added to GitGenius on September 19th, 2026
Created on August 14th, 2020
Open Issues & Pull Requests: 30 (+0)
GitHub issues: Enabled
Number of forks: 136
Total Stargazers: 3,558 (+0)
Total Subscribers: 26 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.6 hours
Mean response time: 70.4 days
90th percentile: 204.0 days
Tracked items: 81

Most active contributors

Sign in to see contributor activity.

How this project is maintained

67% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Three people close 97% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 21
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 342 days
Stale 30+ days: 20
Stale 90+ days: 12

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (42)
  • enhancement (36)
  • good first issue (14)
  • help wanted (11)
  • core (9)
  • huge (3)
  • performance (3)
  • v5 (3)

Most active issues this week

Detailed Description

StringZilla is a string-processing library that accelerates text operations across C, C++, CUDA, Python, Rust, Swift, JavaScript, and Go through SIMD and SWAR instructions.

Most string-processing code iterates character by character, leaving CPU hardware underutilized. Modern processors contain dozens of large architectural registers and hundreds of physical registers designed for parallel computation, yet conventional string libraries ignore these capabilities. StringZilla directly leverages SIMD (Single Instruction Multiple Data) and SWAR (Scalar Word-as-Register) instructions to process multiple characters simultaneously, offering acceleration across substring search, hashing, edit distances, sorting, segmentation, and random-string generation. The library provides allocation-free, lazily-evaluated iterators throughout its API.

Developers should choose this tool when string performance is a bottleneck in their application. It suits projects handling large text volumes, fuzzy matching, or Unicode processing where standard library implementations prove insufficient. The README indicates the tool outperforms LibC's substring search by 3x on Arm servers and 9x on Apple Silicon, exceeds ICU performance by 10-70x in UTF-8 handling and case folding, and surpasses NVIDIA's GPU libraries for edit distance computation. The project includes specialized backends for WebAssembly, RISC-V, PowerPC, and LoongArch architectures, extending its applicability beyond mainstream platforms.

Development activity shows consistent engagement with infrastructure and platform support. The project maintains active CI workflows across multiple operating systems. Specialized backends for diverse CPU architectures indicate ongoing investment in hardware compatibility. The breadth of language bindings demonstrates sustained effort to make the library accessible across ecosystems. Documentation includes detailed performance comparisons and technical explanations of the underlying algorithms and instruction sets employed.