crc32fast

Fast, SIMD-accelerated CRC32 (IEEE) checksum computation for Rust

Library
Cargo
v1.5.0
333stars
MIT OR Apache-2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
50/100Fair
Development Activity44
Maintenance8
Community68
Maturity60
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture82
Code Quality85
Innovation74
Learning Curve78

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]) -> u32 convenience function for one-shot checksum computation
  • An incremental Hasher type for streaming large inputs through update/finalize
  • Runtime CPU feature detection that transparently picks the fastest available implementation (baseline, pclmulqdq on x86, crc32 on aarch64)
  • no_std support via an optional std feature, for embedded and kernel-level use
  • Fuzz-tested (via cargo-fuzz/libFuzzer) and address-sanitized unsafe SIMD 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

TypeScript
88%
Other

AFFiNE

Productivity · Project Management · Note Taking

71,668

Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.

View details
91
Repo Health
87
Technical
68
Dependency
Built with
TypeScript88%
Updated today
TypeScript
51%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,087

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.

View details
86
Repo Health
77
Technical
69
Dependency
Built with
TypeScript51%
Rust38%
Updated today
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
Rust
100%
Other

Fluree DB

Databases

445

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.

View details
86
Repo Health
74
Technical
65
Dependency
Built with
Rust100%
Updated yesterday
Python
80%
Apache 2.0

headroom

AI Development · Developer Tools

66,835

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.

View details
84
Repo Health
86
Technical
73
Dependency
Built with
Python80%
Rust14%
Updated today
TypeScript
38%
AGPL 3.0

OpenObserve

Monitoring · Analytics · Devops

21,267

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.

View details
89
Repo Health
9
Technical
73
Dependency
Built with
TypeScript38%
Rust28%
Vue18%
Updated today
Java
92%
Apache 2.0

QuestDB

Databases · Analytics

17,263

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.

View details
91
Repo Health
86
Technical
70
Dependency
Built with
Java92%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search