Simdutf8 Versions Save

SIMD-accelerated UTF-8 validation for Rust.

v0.1.4

2 years ago

New features

  • WASM (wasm32) support thanks to @almann!

Improvements

  • Make aarch64 SIMD implementation work on Rust 1.59/1.60 with create feature aarch64_neon
  • For Rust Nightly the aarch64 SIMD implementation is enabled out of the box.
  • Starting with Rust 1.61 the aarch64 SIMD implementation is expected to be enabled out of the box as well.

Performance

  • Prefetch was disabled for aarch64 since the requisite intrinsics have not been stabilized.

v0.1.3

3 years ago

New features

  • Low-level streaming validation API in simdutf8::basic::imp

v0.1.2

3 years ago

New features

  • Aarch64 support (e.g. Apple Silicon, Raspberry Pi 4, ...) with nightly Rust and crate feature aarch64_neon

Performance

  • Another speedup on pure ASCII data
  • Aligned reads have been removed as the performance was worse overall.
  • Prefetch is used selectively on AVX 2, where it provides a slight benefit on some Intel CPUs.

Comparison vs v0.1.1 on x86-64

Other

  • Refactored SIMD integration to allow easy implementation for new architectures
  • Full test coverage
  • Thoroughly fuzz-tested

v0.1.1

3 years ago

Performance

  • Large speedup on small inputs from delegation to std lib
  • Up to 50% better peak throughput on ASCII
  • #[inline] main entry points for a small general speedup.

Benchmark against v0.1.0

Other

  • Make both Utf8Error variants implement std::error::Error
  • Make basic::Utf8Error implement core::fmt::Display
  • Document Minimum Supported Rust Version (1.38.0).
  • Reduce package size.
  • Documentation updates.

v0.1.0

3 years ago

Documentation updates only.

0.1.x releases will have API compatibility.

v0.0.3

3 years ago

Documentation update only.

v0.0.2

3 years ago

Documentation update only.

v0.0.1

3 years ago

Initial release.