github ashvardanian/StringZilla v4.2.0
v4.2: Faster Hashing and SHA-256 🫆

latest releases: v4.6.0, v4.5.1, v4.5.0...
5 months ago

User-facing updates:

  • 🆕 SHA-256 checksums
  • 🆕 Detect compilation settings

Implementation details:

  • 🆕 Intel Goldmont capabilities level
  • 🆕 Arm NEON+SHA capabilities level
  • Hardened Rust builds & capability masking
  • Faster buffer filling in sz_hash in NEON backend
  • Fixed tail handling in sz_copy in SVE backend

Minor

  • Add: Check comp-time capabilities (3347be4)
  • Add: sz_cap_goldmont_k capability! (f70e927)
  • Add: neon+sha new capability! (fcb68a4)
  • Add: Sha256 to bench_token (bb077da)
  • Add: hmac_sha256 APIs (bf1971e)
  • Add: Sha256 class for Python (6ae7b75)
  • Add: Initial Sha256 variant for NEON (bd35030)
  • Add: SHA256 for Arm (20672dd)

Patch

  • Fix: Avoid unaligned SHA loads on ArmV7 (ebf0503)
  • Fix: Sign conversion warning (3c3e5fc)
  • Make: before-all for dnf on Fedora & apt on Debian (fc74452)
  • Make: Consume env-vars for Rust backend builds (222fc39)
  • Improve: Amortize bench_unary costs (d8d19ce)
  • Fix: Init uint32x4_t on MSVC (3dce631)
  • Improve: Bring back SVE2 hash for short inputs (b1c750b)
  • Improve: More sorting tests (61e08ce)
  • Improve: Simplify SVE memory-ops (35e2236)
  • Fix: sz_copy_sve tail issue (2fa818d)
  • Fix: Avoid <arm_neon_sve_bridge.h> (e5b4496)
  • Improve: Different SHA pipeline for AArch64 (c8aafd3)
  • Improve: Try better SHA pipelining (313f71f)
  • Improve: Faster 2-block SHA256 on NEON (9425341)
  • Improve: Deprecate SVE2 hashing (9cb1588)
  • Improve: Try using non-temporal SVE loads (4572a63)
  • Fix: svlasta_u64(svpfalse_b()) UB (4833e83)
  • Improve: Westmere-like hash updates in NEON (064355f)
  • Improve: Hardening Rust builds (d6a9ba6)
  • Fix: Type-casting on Arm (03a0340)

Don't miss a new StringZilla release

NewReleases is sending notifications on new releases.