1
0
mirror of https://github.com/facebook/proxygen.git synced 2025-08-08 18:02:05 +03:00

5 Commits

Author SHA1 Message Date
Alex Hornby
4b493ec12b fast_float is too old on ubuntu 24.04
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1228

ubuntu 24.04 fast float is too old and causes folly build to fail, so exclude it from system packages and build from source.

ubuntu 25.04 plucky is due to get an updated version so not removing the deb mapping entirely: https://launchpad.net/ubuntu/plucky/+source/fast-float

Reviewed By: bigfootjon

Differential Revision: D71213548

fbshipit-source-id: b1fd7c28360a476c766da1099e56fd2aa5df3d55
2025-03-14 13:44:34 -07:00
Pieter De Baets
9003fed8f2 Use updated fast_float::parse_options
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1216

`str_to_floating_fast_float_from_chars` can be simplified using the new upstream option `allow_leading_plus`. It does mean that we also support parsing `+nan` and `+infinity` which we previously didn't.

Mapping to `Inf` is also handled by the parsing logic, so this custom branch can be removed.

Reviewed By: Gownta

Differential Revision: D70392258

fbshipit-source-id: 62972a6cadd1547d8ff0a3162510ae5e979d459f
2025-03-03 09:33:30 -08:00
Yedidya Feldblum
c9e8cbf0bc update oss-builds dep on fast_float to v6.1.4 (#974)
Summary: Pull Request resolved: https://github.com/facebookincubator/zstrong/pull/974

Reviewed By: michel-slm

Differential Revision: D61985034

fbshipit-source-id: ca610a6a25bbe16a64f66c87e22b296ca838cad4
2024-08-29 21:30:34 -07:00
Máté Szabó
24e55cdc07 Build fast_float from source on Ubuntu < 24.04
Summary:
libfast-float-dev only exists on Ubuntu 24.04 and newer, causing build failures on older releases.

X-link: https://github.com/facebook/folly/pull/2283

Reviewed By: yfeldblum

Differential Revision: D61622213

Pulled By: Orvid

fbshipit-source-id: ea683431874d711f8e693b2dd6607cb36f5d8adf
2024-08-22 12:00:09 -07:00
Simon Krueger
ec135fe15a Add string to double parsing benchmarks
Summary:
This benchmarks various functions that convert decimal values in string representation to IEEE-754 double representation.

These benchmarks `std::strtof`, `std::strtof` with a copy (needed for non-c-strings), `std::strtofl` with the C locale (for locale-indepent processing), `std::from_chars`, libdouble-conversion, and libfast_float.

The functions are benchmarked on different inputs. There is input that is hardcoded values in decimal and exponentional notation. There is randomly generated values in the double space range. There is also inputs for single and double digit ints. As well as percentages.

Note that `std::from_chars`, which on platform010/libstdc++ v11 uses `strtof` + `uselocale` [0]. libstdc++ v12 uses fast float[2].

0: 932fbc868a
1:  490e23032b (diff-d3c32d9c9c566f7f3888d150c6448428ea194170146a1a166917ba45b1252187)

Reviewed By: yfeldblum, Orvid

Differential Revision: D61356955

fbshipit-source-id: 6ec21b602b08505d946551dda49a35402bee7dae
2024-08-19 10:20:54 -07:00