# fastfloat/fast_float

Fast and exact implementation of the C++ from_chars functions for number types: 4x to 10x faster than strtod, part of GCC 12, MySQL, DuckDB, Chromium, Redis and WebKit/Safari

Repository: https://github.com/fastfloat/fast_float
Canonical: https://ross.abutalabs.com/products/fast_float
Homepage: https://fastfloat.github.io/fast_float/
Language: C++
License: Apache-2.0
License Family: permissive
Topics: cpp11, cpp17, cpp-library, high-performance, freebsd, linux, macos, visual-studio, neon, simd, sse2
Last push: 2026-08-24T00:06:45+00:00

## Health v2 (maintenance only)
Score: 91/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 76, longevity 100
- inputs: {"age_days": 2144, "days_push": 10, "days_rel": 80, "gap_med": 32.0, "n_releases_24m": 17}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2088, forks 192 (observed 2026-08-28T04:06:12.135729+00:00)

## What it is
fast_float is a header-only C++11 library providing fast, exact implementations of std::from_chars for float, double, and integer types, parsing ASCII decimal strings with correct IEEE 754 round-to-even rounding. It sustains roughly a gigabyte per second on commodity hardware, does not allocate or throw, and is used in GCC 12, MySQL, DuckDB, Chromium, Redis, and WebKit.

## Use cases
- parse floating-point numbers from strings faster than strtod
- replace std::from_chars on compilers lacking full C++17 support
- parse numeric CSV or JSON fields at high throughput
- convert ASCII integers in bases 2-36 without allocations
- get exact IEEE 754 rounding when parsing decimals
- parse numbers in a C++11 codebase with C++17-style API

## When to choose
- you need bit-exact, locale-independent number parsing with round-to-even
- number parsing is a performance bottleneck in your C++ code
- you want a header-only, dependency-free, allocation-free parser
- you need portability across GCC, Clang, MSVC, and ARM/x86/RISC-V

## When to avoid
- you need locale-aware parsing with custom thousands separators or locale decimal points
- your standard library's from_chars or strtod performance is already sufficient
- you are writing C rather than C++ (consider a C port instead)
- you need to parse exotic number formats beyond decimal, hex, infinity, and nan

## Facets
- artifact type: library
- maturity: stable
- function: parser, serialization, developer-tools
- domain: developer-tools, performance
- platform: cpp, cross-platform, windows, bsd
- tags: header-only, number-parsing, from-chars, floating-point, simd, high-performance, cpp11, cpp17, algorithms, data-engineering, linux, macos

## Member repositories
- fastfloat/fast_float (main) score 91

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:12.135729+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:55:41.548249+00:00, confidence not recorded.
  - readme: https://github.com/fastfloat/fast_float (fetched 2026-08-28T04:06:12.135729+00:00, sha 03302c2a7835)
  - homepage: https://fastfloat.github.io/fast_float/ (fetched 2026-08-29T10:35:29.077825+00:00, sha e58afe0b496b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
