crc32fast
Fast, SIMD-accelerated CRC32 (IEEE) checksum computation for Rust
Repository Health
Technical Analysis
crc32fast is a Rust crate providing fast, SIMD-accelerated CRC32 (IEEE) checksum computation. It ships a portable baseline implementation alongside optimized paths using sse/pclmulqdq on x86 and crc32 instructions on aarch64, with automatic runtime CPU feature detection choosing the fastest available implementation via the Hasher::new constructor.
With over half a billion downloads, it is one of the most widely depended-upon crates in the Rust ecosystem, used transitively by compression, archive, and networking crates that need CRC32 checksums (such as flate2 and zip). It supports no_std environments for embedded use when the optional std feature is disabled.
What You Get
- A simple
hash(&[u8]) -> u32convenience function for one-shot checksum computation - An incremental
Hashertype for streaming large inputs throughupdate/finalize - Runtime CPU feature detection that transparently picks the fastest available implementation (baseline,
pclmulqdqon x86,crc32on aarch64) no_stdsupport via an optionalstdfeature, for embedded and kernel-level use- Fuzz-tested (via
cargo-fuzz/libFuzzer) and address-sanitizedunsafeSIMD code paths
Common Use Cases
- Computing CRC32 checksums for file formats that require them (ZIP, gzip, PNG) inside archive/compression crates
- Verifying data integrity for network protocols or storage formats that embed a CRC32 trailer
- High-throughput checksum computation in performance-sensitive Rust services processing large byte streams
- Embedded/no_std firmware that needs a dependency-light CRC32 implementation
Under The Hood
Architecture - The crate is organized around a public Hasher and a free hash function in lib.rs, which dispatch to one of several backend implementations: baseline.rs provides a portable, table-driven implementation (table.rs holds the precomputed CRC lookup tables) used whenever no SIMD path is available or std is disabled, while src/specialized/ contains architecture-specific pclmulqdq (x86/x86_64) and crc32 (aarch64) intrinsic implementations selected via runtime CPU feature detection performed once in Hasher::new. combine.rs implements CRC combination math so two checksums computed over adjacent byte ranges can be merged without re-hashing, enabling parallel/chunked checksum computation. Tech Stack - Pure Rust, edition 2021, with a single runtime dependency (cfg-if) for conditional compilation across the baseline/specialized backends; build.rs detects target capabilities at compile time. Dev-dependencies (bencher, quickcheck, rand) support benchmarking and property-based testing. Code Quality - Correctness of the unsafe SIMD code is validated through property-based tests (quickcheck) plus fuzz testing via cargo-fuzz/libFuzzer across debug and release profiles (see the fuzz/ directory), and every commit is run under an address sanitizer in CI — a notably rigorous safety bar for a crate built around raw SIMD intrinsics. API Design - The API is deliberately minimal: a one-line hash() for simple cases and a Hasher with update/finalize for streaming, mirroring the shape of Rust’s standard std::hash::Hasher trait so it feels idiomatic to Rust users, with feature flags (std, nightly) clearly documented for constrained targets.
Used by 7 apps in this directory
AFFiNE
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.
Anarlog
Note Taking · AI Assistants · Productivity
Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.
Cap
Team Chat · Video Conferencing
Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.
Fluree DB
Databases
A temporal, verifiable graph database with git-like branching, integrated vector/text/geo search, and RDF/SPARQL/JSON-LD/openCypher support — benchmarked at 10.4x faster than the next database on the full Wikidata dump.
headroom
AI Development · Developer Tools
Compress everything your AI agent reads — tool outputs, logs, RAG chunks, and files — before it reaches the LLM, achieving 60–95% fewer tokens with the same answers.
OpenObserve
Monitoring · Analytics · Devops
Open source observability platform for logs, metrics, traces, and real user monitoring — delivering 140x lower storage costs than Elasticsearch with a single binary you can run in under 2 minutes.
QuestDB
Databases · Analytics
A high-performance, open-source time-series database built for financial market data, IoT telemetry, and real-time analytics, combining a zero-GC Java/C++ core with SIMD-accelerated SQL and a WAL-to-Parquet storage engine.