This shows the benchmark results comparing throughput of float parsing from several existing libraries.
- commit: https://github.com/biojppm/c4core/commit/141331f70c5f27ebdc328de3d8331082f74c999d
- benchmark files:
d:/proj/c4core $ cmany b -t Debug,Release \
-V C4CORE_DEV=ON -V C4CORE_BM_FLOAT_CMP=ON \
-V C4CORE_CXX_STANDARD=17 \
. c4core-bm-charconv c4core-bm-readfloat
$ for i in build/windows* ; do echo ; echo "$i -------------------------------" ; cat $(find $i -name "c4core*dat") ; done
build/windows-x86_64-vs2019-Debug -------------------------------
c4core-bm-readfloat-baseline: {compile: 1.568s, file_size: 52736B}
c4core-bm-readfloat-fast_float_d: {compile: 1.771s, file_size: 94208B}
c4core-bm-readfloat-fast_float_f: {compile: 1.784s, file_size: 94208B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 1.628s, file_size: 78848B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 2.153s, file_size: 135168B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 2.155s, file_size: 65024B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 1.679s, file_size: 71680B}
c4core-bm-readfloat-iostream_d: {compile: 1.767s, file_size: 78848B}
c4core-bm-readfloat-iostream_f: {compile: 1.724s, file_size: 78848B}
c4core-bm-readfloat-ryu_d: {compile: 1.741s, file_size: 73216B}
c4core-bm-readfloat-ryu_f: {compile: 1.528s, file_size: 71680B}
c4core-bm-readfloat-sscanf_d: {compile: 1.489s, file_size: 53760B}
c4core-bm-readfloat-sscanf_f: {compile: 1.468s, file_size: 53760B}
c4core-bm-readfloat-std_atof: {compile: 1.497s, file_size: 52736B}
c4core-bm-readfloat-std_from_chars_d: {compile: 1.361s, file_size: 99328B}
c4core-bm-readfloat-std_from_chars_f: {compile: 1.327s, file_size: 98816B}
build/windows-x86_64-vs2019-Release -------------------------------
c4core-bm-readfloat-baseline: {compile: 1.433s, file_size: 11264B}
c4core-bm-readfloat-fast_float_d: {compile: 2.082s, file_size: 30208B}
c4core-bm-readfloat-fast_float_f: {compile: 2.048s, file_size: 29184B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 1.619s, file_size: 23040B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 1.936s, file_size: 65024B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 1.615s, file_size: 12288B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 1.575s, file_size: 15872B}
c4core-bm-readfloat-iostream_d: {compile: 2.002s, file_size: 20480B}
c4core-bm-readfloat-iostream_f: {compile: 2.048s, file_size: 20480B}
c4core-bm-readfloat-ryu_d: {compile: 1.255s, file_size: 22528B}
c4core-bm-readfloat-ryu_f: {compile: 0.641s, file_size: 22528B}
c4core-bm-readfloat-sscanf_d: {compile: 1.502s, file_size: 11264B}
c4core-bm-readfloat-sscanf_f: {compile: 1.430s, file_size: 11264B}
c4core-bm-readfloat-std_atof: {compile: 1.471s, file_size: 11264B}
c4core-bm-readfloat-std_from_chars_d: {compile: 1.658s, file_size: 22016B}
c4core-bm-readfloat-std_from_chars_f: {compile: 1.637s, file_size: 21504B}
for bt in Release Debug ; do \
for type in float double ; do \
build/windows-x86_64-vs2019-$bt/bm/$bt/c4core-bm-charconv.exe --benchmark_filter="atox.*$type" ; \
done ; \
done
11/12/20 02:34:08
Running D:\proj\c4core\build\windows-x86_64-vs2019-Release\bm\Release\c4core-bm-charconv.exe
Run on (12 X 3400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 15360 KiB (x1)
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 122 ns 122 ns 6400000 bytes_per_second=31.25M/s items_per_second=8.192M/s
atox_ryu_s2f<float> 40.9 ns 40.8 ns 17230769 bytes_per_second=93.4829M/s items_per_second=24.506M/s
atox_fast_float<float> 30.4 ns 30.7 ns 22400000 bytes_per_second=124.29M/s items_per_second=32.5818M/s
atox_std_from_chars<float> 122 ns 120 ns 5600000 bytes_per_second=31.7951M/s items_per_second=8.33488M/s
atox_fp_from_chars_limited<float> 33.4 ns 33.7 ns 21333333 bytes_per_second=113.225M/s items_per_second=29.6812M/s
atox_fp_from_chars_unlimited<float> 47.4 ns 47.1 ns 14933333 bytes_per_second=81.0185M/s items_per_second=21.2385M/s
atox_std_atof<float> 159 ns 160 ns 4480000 bytes_per_second=23.7772M/s items_per_second=6.23304M/s
atox_std_strtof<float> 155 ns 153 ns 4480000 bytes_per_second=24.858M/s items_per_second=6.51636M/s
atox_std_stof<float> 178 ns 180 ns 3733333 bytes_per_second=21.1967M/s items_per_second=5.55659M/s
atox_scanf<float> 269 ns 267 ns 2635294 bytes_per_second=14.2974M/s items_per_second=3.74797M/s
atox_sstream<float, std::istringstream> 964 ns 963 ns 746667 bytes_per_second=3.96286M/s items_per_second=1038.84k/s
atox_sstream<float, std::stringstream> 969 ns 984 ns 746667 bytes_per_second=3.87855M/s items_per_second=1016.74k/s
atox_sstream_reuse<float, std::istringstream> 710 ns 698 ns 1120000 bytes_per_second=5.46875M/s items_per_second=1.4336M/s
atox_sstream_reuse<float, std::stringstream> 719 ns 715 ns 896000 bytes_per_second=5.33537M/s items_per_second=1.39863M/s
atox_fast_float<double> 31.9 ns 32.1 ns 22400000 bytes_per_second=237.772M/s items_per_second=31.1652M/s
+ for type in float double
+ build/windows-x86_64-vs2019-Release/bm/Release/c4core-bm-charconv.exe '--benchmark_filter=atox.*double'
11/12/20 02:34:25
Running D:\proj\c4core\build\windows-x86_64-vs2019-Release\bm\Release\c4core-bm-charconv.exe
Run on (12 X 3400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 15360 KiB (x1)
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 190 ns 188 ns 3733333 bytes_per_second=40.5093M/s items_per_second=5.30963M/s
atox_ryu_s2d<double> 51.3 ns 51.6 ns 10000000 bytes_per_second=147.964M/s items_per_second=19.3939M/s
atox_fast_float<double> 31.8 ns 31.4 ns 22400000 bytes_per_second=243.056M/s items_per_second=31.8578M/s
atox_std_from_chars<double> 190 ns 188 ns 3733333 bytes_per_second=40.5093M/s items_per_second=5.30963M/s
atox_fp_from_chars_limited<double> 43.9 ns 43.9 ns 16000000 bytes_per_second=173.611M/s items_per_second=22.7556M/s
atox_fp_from_chars_unlimited<double> 67.6 ns 68.4 ns 11200000 bytes_per_second=111.607M/s items_per_second=14.6286M/s
atox_std_atof<double> 225 ns 225 ns 3200000 bytes_per_second=33.9674M/s items_per_second=4.45217M/s
atox_std_strtod<double> 227 ns 230 ns 2986667 bytes_per_second=33.1439M/s items_per_second=4.34424M/s
atox_std_stod<double> 251 ns 255 ns 2635294 bytes_per_second=29.9248M/s items_per_second=3.9223M/s
atox_scanf<double> 379 ns 385 ns 1866667 bytes_per_second=19.8143M/s items_per_second=2.5971M/s
atox_sstream<double, std::istringstream> 1203 ns 1200 ns 560000 bytes_per_second=6.35901M/s items_per_second=833.488k/s
atox_sstream<double, std::stringstream> 1210 ns 1228 ns 560000 bytes_per_second=6.21449M/s items_per_second=814.545k/s
atox_sstream_reuse<double, std::istringstream> 948 ns 963 ns 746667 bytes_per_second=7.92573M/s items_per_second=1038.84k/s
atox_sstream_reuse<double, std::stringstream> 949 ns 952 ns 640000 bytes_per_second=8.01282M/s items_per_second=1050.26k/s
+ for bt in Release Debug
+ for type in float double
+ build/windows-x86_64-vs2019-Debug/bm/Debug/c4core-bm-charconv.exe '--benchmark_filter=atox.*float'
11/12/20 02:34:46
Running D:\proj\c4core\build\windows-x86_64-vs2019-Debug\bm\Debug\c4core-bm-charconv.exe
Run on (12 X 3400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 15360 KiB (x1)
***WARNING*** Library was built as DEBUG. Timings may be affected.
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 2835 ns 2888 ns 248889 bytes_per_second=1.32095M/s items_per_second=346.28k/s
atox_ryu_s2f<float> 317 ns 315 ns 2133333 bytes_per_second=12.1124M/s items_per_second=3.17519M/s
atox_fast_float<float> 422 ns 424 ns 1659259 bytes_per_second=9.00206M/s items_per_second=2.35984M/s
atox_std_from_chars<float> 921 ns 921 ns 746667 bytes_per_second=4.14299M/s items_per_second=1086.06k/s
atox_std_atof<float> 494 ns 497 ns 1445161 bytes_per_second=7.67005M/s items_per_second=2.01066M/s
atox_std_strtof<float> 491 ns 500 ns 1000000 bytes_per_second=7.62939M/s items_per_second=2M/s
atox_std_stof<float> 529 ns 516 ns 1120000 bytes_per_second=7.3902M/s items_per_second=1.9373M/s
atox_scanf<float> 843 ns 854 ns 896000 bytes_per_second=4.46429M/s items_per_second=1.17029M/s
atox_sstream<float, std::istringstream> 5268 ns 5162 ns 112000 bytes_per_second=756.757k/s items_per_second=193.73k/s
atox_sstream<float, std::stringstream> 5357 ns 5312 ns 100000 bytes_per_second=735.294k/s items_per_second=188.235k/s
atox_sstream_reuse<float, std::istringstream> 3943 ns 3924 ns 179200 bytes_per_second=995.556k/s items_per_second=254.862k/s
atox_sstream_reuse<float, std::stringstream> 3975 ns 3899 ns 172308 bytes_per_second=1001.79k/s items_per_second=256.458k/s
atox_fast_float<double> 430 ns 433 ns 1659259 bytes_per_second=17.6127M/s items_per_second=2.30853M/s
+ for type in float double
+ build/windows-x86_64-vs2019-Debug/bm/Debug/c4core-bm-charconv.exe '--benchmark_filter=atox.*double'
11/12/20 02:35:13
Running D:\proj\c4core\build\windows-x86_64-vs2019-Debug\bm\Debug\c4core-bm-charconv.exe
Run on (12 X 3400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 15360 KiB (x1)
***WARNING*** Library was built as DEBUG. Timings may be affected.
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 4104 ns 4143 ns 165926 bytes_per_second=1.84133M/s items_per_second=241.347k/s
atox_ryu_s2d<double> 395 ns 393 ns 1866667 bytes_per_second=19.3927M/s items_per_second=2.54184M/s
atox_fast_float<double> 430 ns 433 ns 1659259 bytes_per_second=17.6127M/s items_per_second=2.30853M/s
atox_std_from_chars<double> 1182 ns 1196 ns 640000 bytes_per_second=6.37755M/s items_per_second=835.918k/s
atox_std_atof<double> 600 ns 600 ns 1120000 bytes_per_second=12.718M/s items_per_second=1.66698M/s
atox_std_strtod<double> 605 ns 600 ns 1120000 bytes_per_second=12.718M/s items_per_second=1.66698M/s
atox_std_stod<double> 636 ns 642 ns 1120000 bytes_per_second=11.8886M/s items_per_second=1.55826M/s
atox_scanf<double> 1012 ns 1004 ns 746667 bytes_per_second=7.59549M/s items_per_second=995.556k/s
atox_sstream<double, std::istringstream> 6132 ns 6138 ns 112000 bytes_per_second=1.2429M/s items_per_second=162.909k/s
atox_sstream<double, std::stringstream> 6196 ns 6278 ns 112000 bytes_per_second=1.21528M/s items_per_second=159.289k/s
atox_sstream_reuse<double, std::istringstream> 4844 ns 4743 ns 112000 bytes_per_second=1.60846M/s items_per_second=210.824k/s
atox_sstream_reuse<double, std::stringstream> 4833 ns 4865 ns 144516 bytes_per_second=1.5681M/s items_per_second=205.534k/s
/mnt/d/proj/c4core $ export C4_EXTERN_DIR=/mnt/d/proj/extern ; \
cmany b -t Debug,Release -c clang++-10,g++-10 \
-V C4CORE_DEV=ON \
-V C4CORE_BM_FLOAT_CMP=ON \
-V C4CORE_CXX_STANDARD=17 \
-V C4CORE_SANITIZE=OFF . c4core-bm-charconv c4core-bm-readfloat --continue
/mnt/d/proj/c4core $ for i in build/linux* ; do echo ; echo "$i -------------------------------" ; cat $(find $i -name "c4core*dat") ; done
build/linux-x86_64-clangxx10.0-Debug -------------------------------
c4core-bm-readfloat-baseline: {compile: 0.350s, file_size: 11592B}
c4core-bm-readfloat-fast_float_d: {compile: 0.612s, file_size: 1344808B}
c4core-bm-readfloat-fast_float_f: {compile: 0.576s, file_size: 1344792B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 0.310s, file_size: 166512B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 0.323s, file_size: 224408B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 0.299s, file_size: 42216B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 0.310s, file_size: 61376B}
c4core-bm-readfloat-iostream_d: {compile: 0.680s, file_size: 1255328B}
c4core-bm-readfloat-iostream_f: {compile: 0.713s, file_size: 1255328B}
c4core-bm-readfloat-ryu_d: {compile: 0.316s, file_size: 33048B}
c4core-bm-readfloat-ryu_f: {compile: 0.294s, file_size: 33256B}
c4core-bm-readfloat-sscanf_d: {compile: 0.345s, file_size: 11840B}
c4core-bm-readfloat-sscanf_f: {compile: 0.361s, file_size: 11832B}
c4core-bm-readfloat-std_atof: {compile: 0.345s, file_size: 13752B}
build/linux-x86_64-clangxx10.0-Release -------------------------------
c4core-bm-readfloat-baseline: {compile: 0.342s, file_size: 8408B}
c4core-bm-readfloat-fast_float_d: {compile: 0.540s, file_size: 1294288B}
c4core-bm-readfloat-fast_float_f: {compile: 0.513s, file_size: 1290192B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 0.326s, file_size: 131736B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 0.257s, file_size: 173008B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 0.313s, file_size: 13064B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 0.306s, file_size: 17392B}
c4core-bm-readfloat-iostream_d: {compile: 0.685s, file_size: 1243296B}
c4core-bm-readfloat-iostream_f: {compile: 0.669s, file_size: 1243296B}
c4core-bm-readfloat-ryu_d: {compile: 0.312s, file_size: 20960B}
c4core-bm-readfloat-ryu_f: {compile: 0.313s, file_size: 20960B}
c4core-bm-readfloat-sscanf_d: {compile: 0.337s, file_size: 8496B}
c4core-bm-readfloat-sscanf_f: {compile: 0.336s, file_size: 8496B}
c4core-bm-readfloat-std_atof: {compile: 0.362s, file_size: 8496B}
build/linux-x86_64-gxx10-Debug -------------------------------
c4core-bm-readfloat-baseline: {compile: 0.297s, file_size: 12744B}
c4core-bm-readfloat-fast_float_d: {compile: 0.500s, file_size: 1419768B}
c4core-bm-readfloat-fast_float_f: {compile: 0.518s, file_size: 1419736B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 0.219s, file_size: 77984B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 0.215s, file_size: 181768B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 0.220s, file_size: 53720B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 0.217s, file_size: 76520B}
c4core-bm-readfloat-iostream_d: {compile: 0.576s, file_size: 1325016B}
c4core-bm-readfloat-iostream_f: {compile: 0.565s, file_size: 1325016B}
c4core-bm-readfloat-ryu_d: {compile: 0.249s, file_size: 34672B}
c4core-bm-readfloat-ryu_f: {compile: 0.262s, file_size: 34864B}
c4core-bm-readfloat-sscanf_d: {compile: 0.288s, file_size: 12984B}
c4core-bm-readfloat-sscanf_f: {compile: 0.289s, file_size: 12976B}
c4core-bm-readfloat-std_atof: {compile: 0.289s, file_size: 14784B}
build/linux-x86_64-gxx10-Release -------------------------------
c4core-bm-readfloat-baseline: {compile: 0.291s, file_size: 8480B}
c4core-bm-readfloat-fast_float_d: {compile: 0.458s, file_size: 1358976B}
c4core-bm-readfloat-fast_float_f: {compile: 0.429s, file_size: 1358976B}
c4core-bm-readfloat-fast_fp_d_limited: {compile: 0.213s, file_size: 21112B}
c4core-bm-readfloat-fast_fp_d_unlimited: {compile: 0.184s, file_size: 66488B}
c4core-bm-readfloat-fast_fp_f_limited: {compile: 0.198s, file_size: 12920B}
c4core-bm-readfloat-fast_fp_f_unlimited: {compile: 0.213s, file_size: 17256B}
c4core-bm-readfloat-iostream_d: {compile: 0.569s, file_size: 1312352B}
c4core-bm-readfloat-iostream_f: {compile: 0.502s, file_size: 1312352B}
c4core-bm-readfloat-ryu_d: {compile: 0.243s, file_size: 21024B}
c4core-bm-readfloat-ryu_f: {compile: 0.221s, file_size: 21064B}
c4core-bm-readfloat-sscanf_d: {compile: 0.289s, file_size: 8560B}
c4core-bm-readfloat-sscanf_f: {compile: 0.285s, file_size: 8560B}
c4core-bm-readfloat-std_atof: {compile: 0.300s, file_size: 8560B}
$ /mnt/d/proj/c4core $ for cc in clangxx10.0 gxx10 ; do for bt in Release Debug ; do for type in float double ; do build/linux-x86_64-$cc-$bt/bm/c4core-bm-charconv --benchmark_filter="atox.*$type" ; done ; done ; done
2020-11-12 02:07:23
Running build/linux-x86_64-clangxx10.0-Release/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 331 ns 330 ns 2133333 bytes_per_second=11.5741M/s items_per_second=3.03407M/s
atox_ryu_s2f<float> 33.7 ns 33.8 ns 20363636 bytes_per_second=112.991M/s items_per_second=29.6198M/s
atox_fast_float<float> 21.1 ns 20.9 ns 34461538 bytes_per_second=182.901M/s items_per_second=47.9465M/s
atox_fp_from_chars_limited<float> 26.2 ns 26.1 ns 26352941 bytes_per_second=146.223M/s items_per_second=38.3316M/s
atox_fp_from_chars_unlimited<float> 46.7 ns 46.0 ns 14933333 bytes_per_second=82.8598M/s items_per_second=21.7212M/s
atox_std_atof<float> 8.85 ns 8.89 ns 89600000 bytes_per_second=428.922M/s items_per_second=112.439M/s
atox_std_strtof<float> 110 ns 110 ns 6400000 bytes_per_second=34.7222M/s items_per_second=9.10222M/s
atox_std_stof<float> 109 ns 107 ns 6400000 bytes_per_second=35.5114M/s items_per_second=9.30909M/s
atox_scanf<float> 213 ns 215 ns 3200000 bytes_per_second=17.7557M/s items_per_second=4.65455M/s
atox_sstream<float, std::istringstream> 479 ns 476 ns 1445161 bytes_per_second=8.01869M/s items_per_second=2.10205M/s
atox_sstream<float, std::stringstream> 567 ns 572 ns 1120000 bytes_per_second=6.66921M/s items_per_second=1.74829M/s
atox_sstream_reuse<float, std::istringstream> 255 ns 257 ns 2488889 bytes_per_second=14.8205M/s items_per_second=3.8851M/s
atox_sstream_reuse<float, std::stringstream> 257 ns 257 ns 2800000 bytes_per_second=14.8607M/s items_per_second=3.89565M/s
atox_fast_float<double> 21.2 ns 21.3 ns 34461538 bytes_per_second=358.02M/s items_per_second=46.9263M/s
2020-11-12 02:07:39
Running build/linux-x86_64-clangxx10.0-Release/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 330 ns 330 ns 2133333 bytes_per_second=23.1481M/s items_per_second=3.03407M/s
atox_ryu_s2d<double> 35.7 ns 35.3 ns 19478261 bytes_per_second=216.156M/s items_per_second=28.332M/s
atox_fast_float<double> 21.1 ns 21.3 ns 34461538 bytes_per_second=358.02M/s items_per_second=46.9263M/s
atox_fp_from_chars_limited<double> 26.1 ns 26.2 ns 28000000 bytes_per_second=290.891M/s items_per_second=38.1277M/s
atox_fp_from_chars_unlimited<double> 47.7 ns 48.7 ns 14451613 bytes_per_second=156.81M/s items_per_second=20.5534M/s
atox_std_atof<double> 8.85 ns 8.79 ns 74666667 bytes_per_second=868.056M/s items_per_second=113.778M/s
atox_std_strtod<double> 110 ns 110 ns 6400000 bytes_per_second=69.4444M/s items_per_second=9.10222M/s
atox_std_stod<double> 111 ns 110 ns 6400000 bytes_per_second=69.4444M/s items_per_second=9.10222M/s
atox_scanf<double> 210 ns 209 ns 3446154 bytes_per_second=36.5803M/s items_per_second=4.79465M/s
atox_sstream<double, std::istringstream> 474 ns 471 ns 1493333 bytes_per_second=16.2037M/s items_per_second=2.12385M/s
atox_sstream<double, std::stringstream> 557 ns 558 ns 1120000 bytes_per_second=13.6719M/s items_per_second=1.792M/s
atox_sstream_reuse<double, std::istringstream> 252 ns 255 ns 2635294 bytes_per_second=29.9248M/s items_per_second=3.9223M/s
atox_sstream_reuse<double, std::stringstream> 255 ns 257 ns 2800000 bytes_per_second=29.7215M/s items_per_second=3.89565M/s
2020-11-12 02:07:53
Running build/linux-x86_64-clangxx10.0-Debug/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
***WARNING*** Library was built as DEBUG. Timings may be affected.
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 1015 ns 1025 ns 640000 bytes_per_second=3.72024M/s items_per_second=975.238k/s
atox_ryu_s2f<float> 106 ns 107 ns 7466667 bytes_per_second=35.7435M/s items_per_second=9.36994M/s
atox_fast_float<float> 76.1 ns 76.7 ns 8960000 bytes_per_second=49.7159M/s items_per_second=13.0327M/s
atox_std_atof<float> 132 ns 132 ns 4977778 bytes_per_second=28.9352M/s items_per_second=7.58519M/s
atox_std_strtof<float> 133 ns 134 ns 5600000 bytes_per_second=28.4831M/s items_per_second=7.46667M/s
atox_std_stof<float> 139 ns 140 ns 5600000 bytes_per_second=27.3438M/s items_per_second=7.168M/s
atox_scanf<float> 240 ns 241 ns 2986667 bytes_per_second=15.8515M/s items_per_second=4.15536M/s
atox_sstream<float, std::istringstream> 494 ns 500 ns 1000000 bytes_per_second=7.62939M/s items_per_second=2M/s
atox_sstream<float, std::stringstream> 579 ns 586 ns 1120000 bytes_per_second=6.51042M/s items_per_second=1.70667M/s
atox_sstream_reuse<float, std::istringstream> 268 ns 267 ns 2635294 bytes_per_second=14.2974M/s items_per_second=3.74797M/s
atox_sstream_reuse<float, std::stringstream> 274 ns 273 ns 2635294 bytes_per_second=13.9866M/s items_per_second=3.6665M/s
atox_fast_float<double> 74.0 ns 73.2 ns 8960000 bytes_per_second=104.167M/s items_per_second=13.6533M/s
2020-11-12 02:08:04
Running build/linux-x86_64-clangxx10.0-Debug/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
***WARNING*** Library was built as DEBUG. Timings may be affected.
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 1099 ns 1099 ns 640000 bytes_per_second=6.94444M/s items_per_second=910.222k/s
atox_ryu_s2d<double> 113 ns 112 ns 6400000 bytes_per_second=67.9348M/s items_per_second=8.90435M/s
atox_fast_float<double> 74.3 ns 73.2 ns 8960000 bytes_per_second=104.167M/s items_per_second=13.6533M/s
atox_std_atof<double> 132 ns 132 ns 4977778 bytes_per_second=57.8704M/s items_per_second=7.58519M/s
atox_std_strtod<double> 132 ns 131 ns 5600000 bytes_per_second=58.1782M/s items_per_second=7.62553M/s
atox_std_stod<double> 146 ns 144 ns 4977778 bytes_per_second=52.8382M/s items_per_second=6.9256M/s
atox_scanf<double> 241 ns 241 ns 2986667 bytes_per_second=31.7029M/s items_per_second=4.15536M/s
atox_sstream<double, std::istringstream> 492 ns 488 ns 1120000 bytes_per_second=15.625M/s items_per_second=2.048M/s
atox_sstream<double, std::stringstream> 575 ns 572 ns 1120000 bytes_per_second=13.3384M/s items_per_second=1.74829M/s
atox_sstream_reuse<double, std::istringstream> 267 ns 273 ns 2635294 bytes_per_second=27.9731M/s items_per_second=3.6665M/s
atox_sstream_reuse<double, std::stringstream> 272 ns 270 ns 2488889 bytes_per_second=28.2623M/s items_per_second=3.70439M/s
2020-11-12 02:08:15
Running build/linux-x86_64-gxx10-Release/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 333 ns 330 ns 2133333 bytes_per_second=11.5741M/s items_per_second=3.03407M/s
atox_ryu_s2f<float> 34.4 ns 33.8 ns 20363636 bytes_per_second=112.991M/s items_per_second=29.6198M/s
atox_fast_float<float> 23.2 ns 22.9 ns 32000000 bytes_per_second=166.223M/s items_per_second=43.5745M/s
atox_fp_from_chars_limited<float> 8.81 ns 8.89 ns 89600000 bytes_per_second=428.922M/s items_per_second=112.439M/s
atox_fp_from_chars_unlimited<float> 8.82 ns 9.00 ns 74666667 bytes_per_second=423.934M/s items_per_second=111.132M/s
atox_std_atof<float> 111 ns 112 ns 6400000 bytes_per_second=33.9674M/s items_per_second=8.90435M/s
atox_std_strtof<float> 109 ns 107 ns 6400000 bytes_per_second=35.5114M/s items_per_second=9.30909M/s
atox_std_stof<float> 110 ns 110 ns 6400000 bytes_per_second=34.7222M/s items_per_second=9.10222M/s
atox_scanf<float> 213 ns 215 ns 3200000 bytes_per_second=17.7557M/s items_per_second=4.65455M/s
atox_sstream<float, std::istringstream> 474 ns 471 ns 1493333 bytes_per_second=8.10185M/s items_per_second=2.12385M/s
atox_sstream<float, std::stringstream> 559 ns 558 ns 1120000 bytes_per_second=6.83594M/s items_per_second=1.792M/s
atox_sstream_reuse<float, std::istringstream> 254 ns 251 ns 2800000 bytes_per_second=15.191M/s items_per_second=3.98222M/s
atox_sstream_reuse<float, std::stringstream> 262 ns 261 ns 2635294 bytes_per_second=14.6223M/s items_per_second=3.83315M/s
atox_fast_float<double> 22.6 ns 22.5 ns 29866667 bytes_per_second=339.147M/s items_per_second=44.4527M/s
2020-11-12 02:08:29
Running build/linux-x86_64-gxx10-Release/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 344 ns 345 ns 2036364 bytes_per_second=22.096M/s items_per_second=2.89616M/s
atox_ryu_s2d<double> 34.3 ns 33.8 ns 20363636 bytes_per_second=225.981M/s items_per_second=29.6198M/s
atox_fast_float<double> 22.6 ns 22.5 ns 32000000 bytes_per_second=339.674M/s items_per_second=44.5217M/s
atox_fp_from_chars_limited<double> 8.82 ns 8.79 ns 74666667 bytes_per_second=868.056M/s items_per_second=113.778M/s
atox_fp_from_chars_unlimited<double> 8.81 ns 8.89 ns 89600000 bytes_per_second=857.843M/s items_per_second=112.439M/s
atox_std_atof<double> 110 ns 112 ns 6400000 bytes_per_second=67.9348M/s items_per_second=8.90435M/s
atox_std_strtod<double> 113 ns 115 ns 6400000 bytes_per_second=66.4894M/s items_per_second=8.71489M/s
atox_std_stod<double> 112 ns 112 ns 6400000 bytes_per_second=67.9348M/s items_per_second=8.90435M/s
atox_scanf<double> 209 ns 209 ns 3446154 bytes_per_second=36.5803M/s items_per_second=4.79465M/s
atox_sstream<double, std::istringstream> 475 ns 471 ns 1493333 bytes_per_second=16.2037M/s items_per_second=2.12385M/s
atox_sstream<double, std::stringstream> 584 ns 586 ns 1120000 bytes_per_second=13.0208M/s items_per_second=1.70667M/s
atox_sstream_reuse<double, std::istringstream> 253 ns 251 ns 2800000 bytes_per_second=30.3819M/s items_per_second=3.98222M/s
atox_sstream_reuse<double, std::stringstream> 255 ns 255 ns 2635294 bytes_per_second=29.9248M/s items_per_second=3.9223M/s
2020-11-12 02:08:43
Running build/linux-x86_64-gxx10-Debug/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
***WARNING*** Library was built as DEBUG. Timings may be affected.
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------------------------------
atox_c4_atox<float> 959 ns 977 ns 640000 bytes_per_second=3.90625M/s items_per_second=1024k/s
atox_ryu_s2f<float> 101 ns 100 ns 7466667 bytes_per_second=37.9774M/s items_per_second=9.95556M/s
atox_fast_float<float> 62.0 ns 62.8 ns 11200000 bytes_per_second=60.7639M/s items_per_second=15.9289M/s
atox_std_atof<float> 136 ns 135 ns 4977778 bytes_per_second=28.2623M/s items_per_second=7.40879M/s
atox_std_strtof<float> 134 ns 134 ns 5600000 bytes_per_second=28.4831M/s items_per_second=7.46667M/s
atox_std_stof<float> 138 ns 138 ns 4977778 bytes_per_second=27.62M/s items_per_second=7.2404M/s
atox_scanf<float> 241 ns 241 ns 2986667 bytes_per_second=15.8515M/s items_per_second=4.15536M/s
atox_sstream<float, std::istringstream> 536 ns 530 ns 1120000 bytes_per_second=7.19572M/s items_per_second=1.88632M/s
atox_sstream<float, std::stringstream> 638 ns 642 ns 1120000 bytes_per_second=5.94429M/s items_per_second=1.55826M/s
atox_sstream_reuse<float, std::istringstream> 268 ns 267 ns 2635294 bytes_per_second=14.2974M/s items_per_second=3.74797M/s
atox_sstream_reuse<float, std::stringstream> 273 ns 270 ns 2488889 bytes_per_second=14.1311M/s items_per_second=3.70439M/s
atox_fast_float<double> 59.7 ns 60.0 ns 11200000 bytes_per_second=127.18M/s items_per_second=16.6698M/s
2020-11-12 02:08:54
Running build/linux-x86_64-gxx10-Debug/bm/c4core-bm-charconv
Run on (12 X 3401 MHz CPU s)
Load Average: 0.52, 0.58, 0.59
***WARNING*** Library was built as DEBUG. Timings may be affected.
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
atox_c4_atox<double> 962 ns 963 ns 746667 bytes_per_second=7.92573M/s items_per_second=1038.84k/s
atox_ryu_s2d<double> 103 ns 105 ns 7466667 bytes_per_second=72.9167M/s items_per_second=9.55733M/s
atox_fast_float<double> 59.8 ns 58.6 ns 11200000 bytes_per_second=130.208M/s items_per_second=17.0667M/s
atox_std_atof<double> 134 ns 132 ns 4977778 bytes_per_second=57.8704M/s items_per_second=7.58519M/s
atox_std_strtod<double> 135 ns 135 ns 4977778 bytes_per_second=56.5246M/s items_per_second=7.40879M/s
atox_std_stod<double> 139 ns 141 ns 4977778 bytes_per_second=54.0123M/s items_per_second=7.07951M/s
atox_scanf<double> 242 ns 240 ns 2800000 bytes_per_second=31.7951M/s items_per_second=4.16744M/s
atox_sstream<double, std::istringstream> 489 ns 487 ns 1445161 bytes_per_second=15.681M/s items_per_second=2.05534M/s
atox_sstream<double, std::stringstream> 573 ns 572 ns 1120000 bytes_per_second=13.3384M/s items_per_second=1.74829M/s
atox_sstream_reuse<double, std::istringstream> 267 ns 267 ns 2635294 bytes_per_second=28.5948M/s items_per_second=3.74797M/s
atox_sstream_reuse<double, std::stringstream> 270 ns 270 ns 2488889 bytes_per_second=28.2623M/s items_per_second=3.70439M/s