Add sse4.1 fast path for u64
1 file changed
tree: 5039c7855c7cd132df4becd5d0ecea9b83b86702
  1. .github/
  2. benches/
  3. fuzz/
  4. src/
  5. tests/
  6. .gitignore
  7. Cargo.toml
  8. itoa-benchmark.png
  9. LICENSE-APACHE
  10. LICENSE-MIT
  11. performance.png
  12. README.md
README.md

itoa

This crate provides a fast conversion of integer primitives to decimal strings. The implementation comes straight from libcore but avoids the performance penalty of going through core::fmt::Formatter.

See also zmij for printing floating point primitives.

[dependencies]
itoa = "1.0"

Example

fn main() {
    let mut buffer = itoa::Buffer::new();
    let printed = buffer.format(128u64);
    assert_eq!(printed, "128");
}

Performance

The itoa-benchmark compares this library and other Rust integer formatting implementations across a range of integer sizes. The vertical axis in this chart shows nanoseconds taken by a single execution of itoa::Buffer::new().format(value) so a lower result indicates a faster library.

performance

License