916 Commits

Author SHA1 Message Date
IRainman
c08b7b12a6 tests updated 2025-03-12 21:26:31 +03:00
IRainman
929e98182e lint 2025-03-12 21:13:20 +03:00
IRainman
1ab438cf7a Tests are updated. 2025-03-12 21:03:53 +03:00
IRainman
2db26df2b8 Remove consexpr/consteval from code that probably assumed to run in the runtime and not be optimized (strange crutch actually). 2025-03-12 20:35:28 +03:00
IRainman
27c0cd581c lint 2025-03-12 20:23:05 +03:00
IRainman
f3c60527d5 more constexpr. 2025-03-12 20:15:29 +03:00
IRainman
3dd3712782 lint 2025-03-12 20:11:11 +03:00
IRainman
07ab87ca2b compilation fix in some cases. 2025-03-12 20:05:34 +03:00
IRainman
b869816c39 Merge branch 'main' of https://github.com/IRainman/fast_float into fastfloat-main 2025-03-12 19:04:01 +03:00
IRainman
e84f289337 FASTFLOAT_IF_CONSTEXPR17
fix compilation when FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN isn't enabled.
2025-03-12 18:45:48 +03:00
IRainman
1899647146 GCC compilation fix. 2025-03-12 17:56:01 +03:00
IRainman
3dd9a98926 more const 2025-03-12 17:44:08 +03:00
HedgehogInTheCPP
cfd0963705
Merge branch 'main' into main 2025-03-12 17:16:03 +03:00
IRainman
681346fde1 Merge branch 'main' of https://github.com/fastfloat/fast_float into fastfloat-main 2025-03-12 17:00:35 +03:00
Daniel Lemire
50a80a73ab v8.0.2 v8.0.2 2025-03-11 09:51:53 -04:00
Anders Dalvander
f9bed3f7b1
Merge pull request #309 from fastfloat/benchvs
supporting benchmarks under Windows
2025-03-11 14:35:15 +01:00
Daniel Lemire
c0affad8b4
Update benchmark.cpp 2025-03-11 09:19:28 -04:00
Daniel Lemire
7597ca61aa supporting benchmarks under Windows 2025-03-10 19:44:18 -04:00
Daniel Lemire
1bf7010153 v8.0.1 v8.0.1 2025-03-10 09:04:05 -04:00
Daniel Lemire
e019768d49
Merge pull request #308 from fastfloat/turing_json_into_macro_parameter
turning json option into macro parameter
2025-03-10 09:02:53 -04:00
Daniel Lemire
c6732cd28b lint 2025-03-10 09:02:38 -04:00
IRainman
474cc159db Merge branch 'main' of https://github.com/IRainman/fast_float
# Conflicts:
#	benchmarks/benchmark.cpp
2025-03-10 05:51:18 +03:00
IRainman
785802344e Tests are updated:
When FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN is disabled:

####
# reading C:/Projects/fast_float/build/benchmarks/data/canada.txt
####
# read 111126 lines
ASCII volume = 1.93374 MB
fastfloat (64)                          :   228.57 MB/s (+/- 4.1 %)    13.14 Mfloat/s      76.13 ns/f
fastfloat (32)                          :   226.19 MB/s (+/- 3.1 %)    13.00 Mfloat/s      76.93 ns/f
UTF-16 volume = 3.86749 MB
fastfloat (64)                          :   445.30 MB/s (+/- 2.8 %)    12.79 Mfloat/s      78.16 ns/f
fastfloat (32)                          :   439.31 MB/s (+/- 2.1 %)    12.62 Mfloat/s      79.22 ns/f
####
# reading C:/Projects/fast_float/build/benchmarks/data/mesh.txt
####
# read 73019 lines
ASCII volume = 0.536009 MB
fastfloat (64)                          :   123.40 MB/s (+/- 0.8 %)    16.81 Mfloat/s      59.49 ns/f
fastfloat (32)                          :   117.22 MB/s (+/- 1.4 %)    15.97 Mfloat/s      62.62 ns/f
UTF-16 volume = 1.07202 MB
fastfloat (64)                          :   243.93 MB/s (+/- 2.6 %)    16.61 Mfloat/s      60.19 ns/f
fastfloat (32)                          :   232.48 MB/s (+/- 2.5 %)    15.83 Mfloat/s      63.15 ns/f

c:\Projects\fast_float\build\benchmarks\Release>

When FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN is enabled:

####
# reading C:/Projects/fast_float/build/benchmarks/data/canada.txt
####
# read 111126 lines
ASCII volume = 1.82777 MB
fastfloat (64)                          :   233.01 MB/s (+/- 2.0 %)    14.17 Mfloat/s      70.59 ns/f
fastfloat (32)                          :   221.31 MB/s (+/- 1.5 %)    13.46 Mfloat/s      74.32 ns/f
UTF-16 volume = 3.65553 MB
fastfloat (64)                          :   460.78 MB/s (+/- 1.4 %)    14.01 Mfloat/s      71.39 ns/f
fastfloat (32)                          :   439.76 MB/s (+/- 2.1 %)    13.37 Mfloat/s      74.80 ns/f
####
# reading C:/Projects/fast_float/build/benchmarks/data/mesh.txt
####
# read 73019 lines
ASCII volume = 0.536009 MB
fastfloat (64)                          :   131.38 MB/s (+/- 0.4 %)    17.90 Mfloat/s      55.87 ns/f
fastfloat (32)                          :   123.03 MB/s (+/- 0.4 %)    16.76 Mfloat/s      59.67 ns/f
UTF-16 volume = 1.07202 MB
fastfloat (64)                          :   259.29 MB/s (+/- 1.5 %)    17.66 Mfloat/s      56.62 ns/f
fastfloat (32)                          :   243.71 MB/s (+/- 1.8 %)    16.60 Mfloat/s      60.24 ns/f

c:\Projects\fast_float\build\benchmarks\Release>

P.S. tested on latest Windows 10 update with latest MSVC 2022 updates on older, but still powerful machine with Intel Xeon E5-2680 v2
2025-03-10 05:48:27 +03:00
IRainman
3e86e9a18e ####
# reading C:/Projects/fast_float/build/benchmarks/data/canada.txt
####
# read 111126 lines
ASCII volume = 1.82777 MB
fastfloat (64)                          :   233.01 MB/s (+/- 2.0 %)    14.17 Mfloat/s      70.59 ns/f
fastfloat (32)                          :   221.31 MB/s (+/- 1.5 %)    13.46 Mfloat/s      74.32 ns/f
UTF-16 volume = 3.65553 MB
fastfloat (64)                          :   460.78 MB/s (+/- 1.4 %)    14.01 Mfloat/s      71.39 ns/f
fastfloat (32)                          :   439.76 MB/s (+/- 2.1 %)    13.37 Mfloat/s      74.80 ns/f
####
# reading C:/Projects/fast_float/build/benchmarks/data/mesh.txt
####
# read 73019 lines
ASCII volume = 0.536009 MB
fastfloat (64)                          :   131.38 MB/s (+/- 0.4 %)    17.90 Mfloat/s      55.87 ns/f
fastfloat (32)                          :   123.03 MB/s (+/- 0.4 %)    16.76 Mfloat/s      59.67 ns/f
UTF-16 volume = 1.07202 MB
fastfloat (64)                          :   259.29 MB/s (+/- 1.5 %)    17.66 Mfloat/s      56.62 ns/f
fastfloat (32)                          :   243.71 MB/s (+/- 1.8 %)    16.60 Mfloat/s      60.24 ns/f

c:\Projects\fast_float\build\benchmarks\Release>
2025-03-10 05:40:27 +03:00
IRainman
6c499fda5c FASTFLOAT_ASSUME review. 2025-03-10 05:34:45 +03:00
Daniel Lemire
b29208f93d adding FASTFLOAT_IF_CONSTEXPR17 2025-03-09 17:10:55 -04:00
IRainman
63eb578d52 Add FASTFLOAT_HAS_BYTESWAP check.
Improve FASTFLOAT_CONSTEVAL20 usage for older standards.
2025-03-09 22:55:04 +03:00
Daniel Lemire
ba92c88901
Update pull_request_template.md 2025-03-09 15:33:11 -04:00
Daniel Lemire
0305a7d336
Update README.md 2025-03-09 15:31:45 -04:00
Daniel Lemire
e720395b61
Update README.md 2025-03-09 15:31:11 -04:00
Daniel Lemire
8e5e92b6e2
Merge pull request #305 from dankmeme01/main
fix /permissive- flag causing a compile error on clang for windows
2025-03-09 15:15:35 -04:00
Daniel Lemire
6f0049a2e7 lint 2025-03-09 15:14:52 -04:00
Daniel Lemire
95dedd0aed turning json option into macro parameter 2025-03-09 15:13:43 -04:00
Daniel Lemire
1504792a9f Merge branch 'main' of github.com:fastfloat/fast_float 2025-03-09 14:27:38 -04:00
Daniel Lemire
864e790d22 allowing custom file parsing 2025-03-09 14:27:07 -04:00
IRainman
354f4c3eac Compilation fix. 2025-03-09 21:09:51 +03:00
IRainman
a22dfc6fcf benchmark are updated, added AST parser emulation for FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN.
Now benchmark only measure parameters for fast_float::from_chars and nothing else.
Copy-past fix.
2025-03-09 19:55:54 +03:00
IRainman
5097243903 Fix compilation of benchmarks 2025-03-09 04:07:29 +03:00
IRainman
23a1367509 Merge branch 'main' of https://github.com/IRainman/fast_float 2025-03-09 03:41:37 +03:00
IRainman
c2daa8a614 Added FASTFLOAT_ASSUME for support attribute [[assume]] is declared in P1774 2025-03-09 03:41:27 +03:00
HedgehogInTheCPP
ac22204bcc
Update README.md
Added examples of usage FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN macros and documented allow_leading_plus and skip_white_space options
2025-03-09 02:40:28 +03:00
IRainman
f496321570 Completely remove deprecated macroses FASTFLOAT_ALLOWS_LEADING_PLUS and FASTFLOAT_SKIP_WHITE_SPACE, please use options.
Compilation fix when FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN isn't defined.
2025-03-09 02:37:46 +03:00
IRainman
ae29a0dbe5 PVS-Studio founds some errors, I fixed it. 2025-03-07 20:39:20 +03:00
IRainman
388426e35a fix type conversion warning. 2025-03-07 15:06:44 +03:00
IRainman
aba93f306f Additional compile time cleanup. When FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN is enabled we assume that we are in parser code with external loop that checks bounds.
Function cpp20_and_in_constexpr() now is really compile time evaluated. TODO fix warnings.
2025-03-07 14:51:20 +03:00
IRainman
bc3f331938 # cleanup. 2025-03-06 23:02:50 +03:00
IRainman
7a38e1bc75 fix for 32 bit build. completely done. All other parser mode also work fine. 2025-03-06 22:47:47 +03:00
IRainman
9ebac23081 Added a config option FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN for faster and more compact code parsing numbers with input support only positive C/C++ style numbers without nan or inf. That case is very useful in mathematical applications, game development, CSS parsing, embedded code, etc...
Additional improve in constant initialization.
2025-03-06 22:25:05 +03:00
IRainman
28795646ab more const 2025-03-06 19:43:47 +03:00
IRainman
e35e7c7040 Merge branch 'main' of https://github.com/IRainman/fast_float 2025-03-06 18:33:08 +03:00