mirror of
https://github.com/biojppm/c4core.git
synced 2026-01-18 21:41:18 +01:00
[bm] add dump benchmarks
``` [ 58%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-double: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-double.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<double.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-double.json 2022-02-13T03:27:20+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.89, 1.96, 1.45 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ----------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------------- atox_c4_atod<double> 21.4 ns 21.4 ns 32727663 bytes_per_second=356.978M/s items_per_second=46.7898M/s atox_c4_atox<double> 21.4 ns 21.4 ns 32595934 bytes_per_second=356.527M/s items_per_second=46.7307M/s atox_c4_from_chars<double> 21.7 ns 21.7 ns 32427241 bytes_per_second=351.647M/s items_per_second=46.0911M/s atox_ryu_s2d<double> 28.9 ns 28.9 ns 24360587 bytes_per_second=264.449M/s items_per_second=34.6619M/s atox_fast_float<double> 22.7 ns 22.7 ns 30587776 bytes_per_second=336.188M/s items_per_second=44.0649M/s atox_fp_from_chars_limited<double> 7.71 ns 7.71 ns 89850594 bytes_per_second=989.843M/s items_per_second=129.741M/s atox_fp_from_chars_unlimited<double> 7.75 ns 7.74 ns 90251076 bytes_per_second=985.446M/s items_per_second=129.164M/s atox_std_atof<double> 91.4 ns 91.4 ns 7598662 bytes_per_second=83.4681M/s items_per_second=10.9403M/s atox_std_strtod<double> 91.8 ns 91.8 ns 7628285 bytes_per_second=83.1324M/s items_per_second=10.8963M/s atox_std_stod<double> 91.2 ns 91.2 ns 7565786 bytes_per_second=83.6789M/s items_per_second=10.968M/s atox_scanf<double> 165 ns 165 ns 4241953 bytes_per_second=46.3275M/s items_per_second=6.07223M/s atox_sstream<double> 427 ns 426 ns 1623873 bytes_per_second=17.8895M/s items_per_second=2.34482M/s atox_sstream_reuse<double> 189 ns 189 ns 3674271 bytes_per_second=40.2846M/s items_per_second=5.28018M/s [ 58%] Built target c4core-bm-charconv-atox-double Consolidate compiler generated dependencies of target c4core-bm-format [ 58%] Building CXX object bm/CMakeFiles/c4core-bm-format.dir/bm_format.cpp.o [ 58%] Linking CXX executable c4core-bm-format [ 58%] Built target c4core-bm-format [ 58%] Built target c4core-bm-build [ 58%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-cat: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-cat.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^cat_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-cat.json 2022-02-13T03:27:36+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.97, 1.98, 1.47 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------------------- cat_c4cat_substr 63.3 ns 63.3 ns 11011836 bytes_per_second=1.16238G/s items_per_second=15.7986M/s cat_c4catrs_reuse 50.7 ns 50.7 ns 13647255 bytes_per_second=1.45216G/s items_per_second=19.7373M/s cat_c4catrs_no_reuse 112 ns 112 ns 6746318 bytes_per_second=674.508M/s items_per_second=8.95282M/s cat_c4catdump_c_style_static_dispatch 181 ns 181 ns 3697847 bytes_per_second=415.89M/s items_per_second=5.52015M/s cat_c4catdump_c_style_dynamic_dispatch 176 ns 176 ns 5631212 bytes_per_second=281.179M/s items_per_second=5.66995M/s cat_c4catdump_cpp_style 185 ns 184 ns 4594085 bytes_per_second=268.905M/s items_per_second=5.42245M/s cat_c4catdump_lambda_style 181 ns 181 ns 4683862 bytes_per_second=273.488M/s items_per_second=5.51487M/s cat_std_to_string_reuse 150 ns 150 ns 4578789 bytes_per_second=502.933M/s items_per_second=6.67549M/s cat_std_to_string_no_reuse 190 ns 190 ns 3684169 bytes_per_second=396.868M/s items_per_second=5.26768M/s cat_stdsstream_reuse 286 ns 286 ns 2451570 bytes_per_second=263.882M/s items_per_second=3.50254M/s cat_stdsstream_no_reuse 565 ns 565 ns 1235602 bytes_per_second=133.449M/s items_per_second=1.77129M/s [ 58%] Built target c4core-bm-format-cat [ 58%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-catsep: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catsep.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^catsep_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catsep.json 2022-02-13T03:27:46+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.98, 1.98, 1.47 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ---------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------------------------------------- catsep_c4cat_substr 91.5 ns 91.4 ns 7169754 bytes_per_second=938.83M/s items_per_second=10.9382M/s catsep_c4catrs_reuse 93.9 ns 93.9 ns 7510948 bytes_per_second=914.376M/s items_per_second=10.6533M/s catsep_c4catrs_no_reuse 163 ns 163 ns 4356238 bytes_per_second=843.186M/s items_per_second=6.1399M/s catsep_c4catdump_c_style_static_dispatch 333 ns 333 ns 2394638 bytes_per_second=257.559M/s items_per_second=3.00078M/s catsep_c4catdump_c_style_dynamic_dispatch 319 ns 319 ns 3578867 bytes_per_second=155.519M/s items_per_second=3.13603M/s catsep_c4catdump_cpp_style 286 ns 286 ns 2363487 bytes_per_second=173.429M/s items_per_second=3.49718M/s catsep_c4catdump_lambda_style 252 ns 252 ns 3054985 bytes_per_second=196.879M/s items_per_second=3.97005M/s catsep_std_to_string_reuse 213 ns 213 ns 3144305 bytes_per_second=688.48M/s items_per_second=4.68781M/s catsep_std_to_string_no_reuse 283 ns 283 ns 2459941 bytes_per_second=518.738M/s items_per_second=3.53205M/s catsep_stdsstream_reuse 300 ns 300 ns 2340987 bytes_per_second=282.657M/s items_per_second=3.3302M/s catsep_stdsstream_no_reuse 603 ns 602 ns 1155501 bytes_per_second=140.891M/s items_per_second=1.65994M/s [ 58%] Built target c4core-bm-format-catsep [ 58%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-format: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-format.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^format_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-format.json 2022-02-13T03:27:57+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 2.06, 2.00, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------------------------- format_c4format 207 ns 207 ns 3412803 bytes_per_second=1005.33M/s items_per_second=4.83563M/s format_c4formatrs_reuse 209 ns 209 ns 3312976 bytes_per_second=994.184M/s items_per_second=4.78201M/s format_c4formatrs_no_reuse 438 ns 438 ns 1596589 bytes_per_second=474.488M/s items_per_second=2.28228M/s format_c4formatdump_c_style_static_dispatch 402 ns 401 ns 1618437 bytes_per_second=517.94M/s items_per_second=2.49128M/s format_c4formatdump_c_style_dynamic_dispatch 332 ns 331 ns 2092228 bytes_per_second=627.372M/s items_per_second=3.01765M/s format_c4formatdump_cpp_style 471 ns 471 ns 1591441 bytes_per_second=441.537M/s items_per_second=2.12379M/s format_c4formatdump_lambda_style 481 ns 481 ns 1584533 bytes_per_second=432.44M/s items_per_second=2.08003M/s format_snprintf 384 ns 384 ns 1840143 bytes_per_second=541.214M/s items_per_second=2.60323M/s [ 58%] Built target c4core-bm-format-format [ 58%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-catfile: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catfile.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^catfile_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catfile.json 2022-02-13T03:28:06+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.90, 1.97, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ----------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------------------- catfile_c4catdump_c_style_static_dispatch 255 ns 254 ns 2734355 bytes_per_second=296.124M/s items_per_second=3.93049M/s catfile_c4catdump_c_style_dynamic_dispatch 261 ns 260 ns 2712639 bytes_per_second=289.333M/s items_per_second=3.84036M/s catfile_c4catdump_cpp_style 257 ns 257 ns 2735067 bytes_per_second=193.232M/s items_per_second=3.89651M/s catfile_c4catdump_lambda_style 259 ns 258 ns 2728147 bytes_per_second=191.856M/s items_per_second=3.86875M/s catfile_fprintf 488 ns 488 ns 1439737 bytes_per_second=154.347M/s items_per_second=2.04866M/s catfile_ofstream 370 ns 370 ns 1934047 bytes_per_second=203.649M/s items_per_second=2.70305M/s [ 58%] Built target c4core-bm-format-catfile [ 66%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-catsepfile: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catsepfile.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^catsepfile_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-catsepfile.json 2022-02-13T03:28:14+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.91, 1.97, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ----------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------------------------- catsepfile_c4catsepdump_c_style_static_dispatch 436 ns 435 ns 1559862 bytes_per_second=315.418M/s items_per_second=2.2968M/s catsepfile_c4catsepdump_c_style_dynamic_dispatch 442 ns 442 ns 1585995 bytes_per_second=310.752M/s items_per_second=2.26282M/s catsepfile_c4catsepdump_cpp_style 444 ns 444 ns 1583386 bytes_per_second=309.447M/s items_per_second=2.25333M/s catsepfile_c4catsepdump_lambda_style 442 ns 441 ns 1591016 bytes_per_second=311.07M/s items_per_second=2.26514M/s catsepfile_fprintf 762 ns 762 ns 916324 bytes_per_second=180.213M/s items_per_second=1.31227M/s catsepfile_ofstream 529 ns 528 ns 1315248 bytes_per_second=259.88M/s items_per_second=1.89239M/s [ 66%] Built target c4core-bm-format-catsepfile [ 66%] c4core: running benchmark c4core-bm-format, case c4core-bm-format-formatfile: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-formatfile.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-format-0.1.8 --benchmark_filter=^formatfile_.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-format-formatfile.json 2022-02-13T03:28:21+00:00 Running ./c4core-bm-format-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.77, 1.93, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ----------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------------------------- formatfile_c4formatdump_c_style_static_dispatch 581 ns 581 ns 1203420 bytes_per_second=357.741M/s items_per_second=1.72073M/s formatfile_c4formatdump_c_style_dynamic_dispatch 613 ns 613 ns 1059127 bytes_per_second=339.138M/s items_per_second=1.63125M/s formatfile_c4formatdump_cpp_style 587 ns 586 ns 1179019 bytes_per_second=354.634M/s items_per_second=1.70579M/s formatfile_c4formatdump_lambda_style 594 ns 593 ns 1185183 bytes_per_second=350.408M/s items_per_second=1.68546M/s formatfile_fprintf 491 ns 490 ns 1412993 bytes_per_second=423.898M/s items_per_second=2.03894M/s [ 66%] Built target c4core-bm-format-formatfile [ 66%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-uint8: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint8.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<uint8.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint8.json 2022-02-13T03:28:27+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.70, 1.92, 1.47 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- xtoa_c4_write_dec<uint8_t> 3.65 ns 3.65 ns 192203964 bytes_per_second=261.335M/s items_per_second=274.03M/s xtoa_c4_write_hex<uint8_t> 2.46 ns 2.46 ns 282889028 bytes_per_second=387.689M/s items_per_second=406.522M/s xtoa_c4_write_oct<uint8_t> 2.62 ns 2.62 ns 267088227 bytes_per_second=364.582M/s items_per_second=382.292M/s xtoa_c4_write_bin<uint8_t> 5.80 ns 5.80 ns 120410966 bytes_per_second=164.563M/s items_per_second=172.557M/s xtoa_c4_utoa<uint8_t> 3.72 ns 3.72 ns 188038687 bytes_per_second=256.51M/s items_per_second=268.97M/s xtoa_c4_xtoa<uint8_t> 7.09 ns 7.09 ns 99772682 bytes_per_second=134.517M/s items_per_second=141.052M/s xtoa_c4_to_chars<uint8_t> 3.69 ns 3.69 ns 189740255 bytes_per_second=258.695M/s items_per_second=271.261M/s xtoa_std_to_string<uint8_t> 4.89 ns 4.88 ns 142750229 bytes_per_second=195.251M/s items_per_second=204.736M/s xtoa_sprintf<uint8_t> 47.2 ns 47.2 ns 14887351 bytes_per_second=20.2256M/s items_per_second=21.2081M/s xtoa_sstream_reuse<uint8_t> 18.9 ns 18.9 ns 37124241 bytes_per_second=50.5696M/s items_per_second=53.026M/s xtoa_sstream<uint8_t> 242 ns 242 ns 2920084 bytes_per_second=3.93738M/s items_per_second=4.12865M/s [ 66%] Built target c4core-bm-charconv-xtoa-uint8 [ 66%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-int8: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int8.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<int8.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int8.json 2022-02-13T03:28:38+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.60, 1.89, 1.47 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------- xtoa_c4_write_dec<int8_t> 3.58 ns 3.58 ns 194726287 bytes_per_second=266.542M/s items_per_second=279.49M/s xtoa_c4_write_hex<int8_t> 3.09 ns 3.09 ns 226782028 bytes_per_second=308.892M/s items_per_second=323.897M/s xtoa_c4_write_oct<int8_t> 3.01 ns 3.01 ns 232120548 bytes_per_second=316.89M/s items_per_second=332.284M/s xtoa_c4_write_bin<int8_t> 5.18 ns 5.18 ns 135810641 bytes_per_second=184.092M/s items_per_second=193.034M/s xtoa_c4_itoa<int8_t> 4.23 ns 4.23 ns 165061770 bytes_per_second=225.642M/s items_per_second=236.603M/s xtoa_c4_xtoa<int8_t> 9.52 ns 9.52 ns 73696495 bytes_per_second=100.215M/s items_per_second=105.083M/s xtoa_c4_to_chars<int8_t> 4.38 ns 4.38 ns 159514559 bytes_per_second=217.818M/s items_per_second=228.399M/s xtoa_std_to_string<int8_t> 5.44 ns 5.43 ns 147637061 bytes_per_second=175.507M/s items_per_second=184.032M/s xtoa_sprintf<int8_t> 45.2 ns 45.2 ns 15573544 bytes_per_second=21.1032M/s items_per_second=22.1283M/s xtoa_sstream_reuse<int8_t> 18.0 ns 18.0 ns 39531968 bytes_per_second=52.9859M/s items_per_second=55.5597M/s xtoa_sstream<int8_t> 245 ns 244 ns 2869691 bytes_per_second=3.90184M/s items_per_second=4.09138M/s [ 66%] Built target c4core-bm-charconv-xtoa-int8 [ 66%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-uint16: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint16.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<uint16.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint16.json 2022-02-13T03:28:50+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.69, 1.89, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- xtoa_c4_write_dec<uint16_t> 7.37 ns 7.37 ns 90921403 bytes_per_second=258.951M/s items_per_second=135.765M/s xtoa_c4_write_hex<uint16_t> 4.53 ns 4.53 ns 156333232 bytes_per_second=421.341M/s items_per_second=220.904M/s xtoa_c4_write_oct<uint16_t> 4.74 ns 4.74 ns 146456891 bytes_per_second=402.198M/s items_per_second=210.868M/s xtoa_c4_write_bin<uint16_t> 12.7 ns 12.7 ns 55167453 bytes_per_second=150.34M/s items_per_second=78.8214M/s xtoa_c4_utoa<uint16_t> 6.59 ns 6.59 ns 105213965 bytes_per_second=289.613M/s items_per_second=151.84M/s xtoa_c4_xtoa<uint16_t> 7.22 ns 7.21 ns 97663280 bytes_per_second=264.412M/s items_per_second=138.628M/s xtoa_c4_to_chars<uint16_t> 7.58 ns 7.58 ns 92670237 bytes_per_second=251.658M/s items_per_second=131.941M/s xtoa_std_to_string<uint16_t> 6.37 ns 6.37 ns 109131204 bytes_per_second=299.54M/s items_per_second=157.045M/s xtoa_sprintf<uint16_t> 48.0 ns 47.9 ns 14632088 bytes_per_second=39.7824M/s items_per_second=20.8574M/s xtoa_sstream_reuse<uint16_t> 28.7 ns 28.6 ns 24727992 bytes_per_second=66.5863M/s items_per_second=34.9104M/s xtoa_sstream<uint16_t> 268 ns 268 ns 2648190 bytes_per_second=7.12618M/s items_per_second=3.73617M/s [ 66%] Built target c4core-bm-charconv-xtoa-uint16 [ 66%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-int16: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int16.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<int16.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int16.json 2022-02-13T03:29:00+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.66, 1.88, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- xtoa_c4_write_dec<int16_t> 6.32 ns 6.32 ns 110410770 bytes_per_second=301.839M/s items_per_second=158.25M/s xtoa_c4_write_hex<int16_t> 3.62 ns 3.61 ns 195311772 bytes_per_second=527.711M/s items_per_second=276.672M/s xtoa_c4_write_oct<int16_t> 4.20 ns 4.20 ns 167310632 bytes_per_second=454.67M/s items_per_second=238.378M/s xtoa_c4_write_bin<int16_t> 12.9 ns 12.9 ns 54336201 bytes_per_second=147.469M/s items_per_second=77.3161M/s xtoa_c4_itoa<int16_t> 6.96 ns 6.96 ns 99740627 bytes_per_second=274.211M/s items_per_second=143.765M/s xtoa_c4_xtoa<int16_t> 12.6 ns 12.6 ns 55302868 bytes_per_second=151.051M/s items_per_second=79.1943M/s xtoa_c4_to_chars<int16_t> 6.83 ns 6.83 ns 102998879 bytes_per_second=279.408M/s items_per_second=146.49M/s xtoa_std_to_string<int16_t> 7.41 ns 7.41 ns 93410054 bytes_per_second=257.528M/s items_per_second=135.019M/s xtoa_sprintf<int16_t> 48.6 ns 48.6 ns 14403688 bytes_per_second=39.2591M/s items_per_second=20.5831M/s xtoa_sstream_reuse<int16_t> 31.6 ns 31.6 ns 22326428 bytes_per_second=60.4184M/s items_per_second=31.6767M/s xtoa_sstream<int16_t> 269 ns 269 ns 2629718 bytes_per_second=7.10323M/s items_per_second=3.72414M/s [ 66%] Built target c4core-bm-charconv-xtoa-int16 [ 75%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-uint32: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint32.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<uint32.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint32.json 2022-02-13T03:29:11+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.86, 1.92, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- xtoa_c4_write_dec<uint32_t> 9.94 ns 9.94 ns 81685561 bytes_per_second=383.856M/s items_per_second=100.626M/s xtoa_c4_write_hex<uint32_t> 8.06 ns 8.05 ns 99241463 bytes_per_second=473.629M/s items_per_second=124.159M/s xtoa_c4_write_oct<uint32_t> 7.70 ns 7.70 ns 101003372 bytes_per_second=495.549M/s items_per_second=129.905M/s xtoa_c4_write_bin<uint32_t> 18.9 ns 18.9 ns 40143352 bytes_per_second=201.975M/s items_per_second=52.9466M/s xtoa_c4_utoa<uint32_t> 12.6 ns 12.6 ns 60365177 bytes_per_second=303.14M/s items_per_second=79.4663M/s xtoa_c4_xtoa<uint32_t> 16.1 ns 16.0 ns 43757538 bytes_per_second=237.71M/s items_per_second=62.3142M/s xtoa_c4_to_chars<uint32_t> 12.0 ns 12.0 ns 66025537 bytes_per_second=317.274M/s items_per_second=83.1714M/s xtoa_std_to_string<uint32_t> 10.3 ns 10.3 ns 74603102 bytes_per_second=370.521M/s items_per_second=97.13M/s xtoa_sprintf<uint32_t> 49.3 ns 49.3 ns 14313902 bytes_per_second=77.3562M/s items_per_second=20.2785M/s xtoa_sstream_reuse<uint32_t> 30.4 ns 30.4 ns 23615052 bytes_per_second=125.651M/s items_per_second=32.9387M/s xtoa_sstream<uint32_t> 279 ns 279 ns 2523424 bytes_per_second=13.6551M/s items_per_second=3.5796M/s [ 75%] Built target c4core-bm-charconv-xtoa-uint32 [ 75%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-int32: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int32.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<int32.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int32.json 2022-02-13T03:29:21+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.87, 1.92, 1.50 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- xtoa_c4_write_dec<int32_t> 9.56 ns 9.56 ns 80275226 bytes_per_second=399.188M/s items_per_second=104.645M/s xtoa_c4_write_hex<int32_t> 5.74 ns 5.73 ns 138755463 bytes_per_second=665.38M/s items_per_second=174.425M/s xtoa_c4_write_oct<int32_t> 7.71 ns 7.70 ns 101966096 bytes_per_second=495.163M/s items_per_second=129.804M/s xtoa_c4_write_bin<int32_t> 18.2 ns 18.2 ns 42001086 bytes_per_second=209.983M/s items_per_second=55.0458M/s xtoa_c4_itoa<int32_t> 9.77 ns 9.77 ns 82335340 bytes_per_second=390.492M/s items_per_second=102.365M/s xtoa_c4_xtoa<int32_t> 20.2 ns 20.2 ns 34665183 bytes_per_second=189.166M/s items_per_second=49.5887M/s xtoa_c4_to_chars<int32_t> 9.52 ns 9.52 ns 84619795 bytes_per_second=400.852M/s items_per_second=105.081M/s xtoa_std_to_string<int32_t> 9.22 ns 9.22 ns 74943251 bytes_per_second=413.87M/s items_per_second=108.493M/s xtoa_sprintf<int32_t> 49.9 ns 49.9 ns 14147870 bytes_per_second=76.4438M/s items_per_second=20.0393M/s xtoa_sstream_reuse<int32_t> 33.3 ns 33.3 ns 21295857 bytes_per_second=114.565M/s items_per_second=30.0324M/s xtoa_sstream<int32_t> 273 ns 273 ns 2564703 bytes_per_second=13.9816M/s items_per_second=3.6652M/s [ 75%] Built target c4core-bm-charconv-xtoa-int32 [ 75%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-uint64: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint64.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<uint64.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-uint64.json 2022-02-13T03:29:32+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.89, 1.92, 1.50 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- xtoa_c4_write_dec<uint64_t> 12.2 ns 12.2 ns 67205461 bytes_per_second=624.663M/s items_per_second=81.8759M/s xtoa_c4_write_hex<uint64_t> 5.48 ns 5.48 ns 139879692 bytes_per_second=1.35963G/s items_per_second=182.486M/s xtoa_c4_write_oct<uint64_t> 10.7 ns 10.6 ns 72697553 bytes_per_second=716.504M/s items_per_second=93.9136M/s xtoa_c4_write_bin<uint64_t> 27.2 ns 27.2 ns 27764339 bytes_per_second=280.869M/s items_per_second=36.8141M/s xtoa_c4_utoa<uint64_t> 12.5 ns 12.5 ns 61759233 bytes_per_second=609.52M/s items_per_second=79.891M/s xtoa_c4_xtoa<uint64_t> 17.7 ns 17.7 ns 39313060 bytes_per_second=431.296M/s items_per_second=56.5308M/s xtoa_c4_to_chars<uint64_t> 11.4 ns 11.4 ns 71036437 bytes_per_second=672.08M/s items_per_second=88.0909M/s xtoa_std_to_string<uint64_t> 9.60 ns 9.60 ns 72815265 bytes_per_second=794.954M/s items_per_second=104.196M/s xtoa_sprintf<uint64_t> 51.4 ns 51.4 ns 13917146 bytes_per_second=148.347M/s items_per_second=19.4441M/s xtoa_sstream_reuse<uint64_t> 30.3 ns 30.3 ns 23408872 bytes_per_second=251.822M/s items_per_second=33.0068M/s xtoa_sstream<uint64_t> 266 ns 266 ns 2631300 bytes_per_second=28.726M/s items_per_second=3.76517M/s [ 75%] Built target c4core-bm-charconv-xtoa-uint64 [ 75%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-int64: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int64.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<int64.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-int64.json 2022-02-13T03:29:42+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.75, 1.89, 1.50 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- xtoa_c4_write_dec<int64_t> 11.2 ns 11.2 ns 67353049 bytes_per_second=679.903M/s items_per_second=89.1162M/s xtoa_c4_write_hex<int64_t> 6.07 ns 6.06 ns 127631853 bytes_per_second=1.22865G/s items_per_second=164.906M/s xtoa_c4_write_oct<int64_t> 10.1 ns 10.1 ns 75688318 bytes_per_second=755.459M/s items_per_second=99.0195M/s xtoa_c4_write_bin<int64_t> 28.1 ns 28.1 ns 26354275 bytes_per_second=271.274M/s items_per_second=35.5564M/s xtoa_c4_itoa<int64_t> 11.4 ns 11.4 ns 69699448 bytes_per_second=667.464M/s items_per_second=87.4859M/s xtoa_c4_xtoa<int64_t> 17.2 ns 17.2 ns 40303677 bytes_per_second=444.415M/s items_per_second=58.2504M/s xtoa_c4_to_chars<int64_t> 11.3 ns 11.2 ns 71110050 bytes_per_second=678.291M/s items_per_second=88.9049M/s xtoa_std_to_string<int64_t> 10.1 ns 10.1 ns 71484829 bytes_per_second=758.177M/s items_per_second=99.3758M/s xtoa_sprintf<int64_t> 50.9 ns 50.9 ns 10000000 bytes_per_second=149.854M/s items_per_second=19.6417M/s xtoa_sstream_reuse<int64_t> 32.7 ns 32.7 ns 21837971 bytes_per_second=233.609M/s items_per_second=30.6196M/s xtoa_sstream<int64_t> 282 ns 282 ns 2494575 bytes_per_second=27.0487M/s items_per_second=3.54533M/s [ 75%] Built target c4core-bm-charconv-xtoa-int64 [ 83%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-float: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-float.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<float.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-float.json 2022-02-13T03:29:51+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.63, 1.86, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------ Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------ xtoa_c4_ftoa<float> 209 ns 209 ns 3346469 bytes_per_second=18.2364M/s items_per_second=4.78056M/s xtoa_c4_xtoa<float> 208 ns 208 ns 3360639 bytes_per_second=18.3395M/s items_per_second=4.80758M/s xtoa_c4_to_chars<float> 211 ns 211 ns 3391464 bytes_per_second=18.0848M/s items_per_second=4.74083M/s xtoa_ryu_f2s<float> 23.6 ns 23.6 ns 29640298 bytes_per_second=161.58M/s items_per_second=42.3573M/s xtoa_std_to_string<float> 163 ns 163 ns 4325975 bytes_per_second=23.407M/s items_per_second=6.136M/s xtoa_sprintf<float> 154 ns 154 ns 4488261 bytes_per_second=24.749M/s items_per_second=6.4878M/s xtoa_sstream_reuse<float> 217 ns 217 ns 3189290 bytes_per_second=17.5623M/s items_per_second=4.60385M/s xtoa_sstream<float> 477 ns 476 ns 1490378 bytes_per_second=8.00842M/s items_per_second=2.09936M/s [ 83%] Built target c4core-bm-charconv-xtoa-float [ 83%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-xtoa-double: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-double.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^xtoa.*<double.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-xtoa-double.json 2022-02-13T03:29:59+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.66, 1.86, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------- xtoa_c4_dtoa<double> 217 ns 217 ns 3218345 bytes_per_second=35.1699M/s items_per_second=4.60979M/s xtoa_c4_xtoa<double> 216 ns 216 ns 3175295 bytes_per_second=35.3359M/s items_per_second=4.63155M/s xtoa_c4_to_chars<double> 217 ns 217 ns 3248778 bytes_per_second=35.197M/s items_per_second=4.61334M/s xtoa_ryu_d2s<double> 27.5 ns 27.5 ns 25468800 bytes_per_second=277.035M/s items_per_second=36.3116M/s xtoa_std_to_string<double> 165 ns 165 ns 4194419 bytes_per_second=46.1624M/s items_per_second=6.0506M/s xtoa_sprintf<double> 159 ns 159 ns 4398880 bytes_per_second=47.9653M/s items_per_second=6.2869M/s xtoa_sstream_reuse<double> 222 ns 222 ns 3075000 bytes_per_second=34.3831M/s items_per_second=4.50666M/s xtoa_sstream<double> 471 ns 471 ns 1482895 bytes_per_second=16.196M/s items_per_second=2.12284M/s [ 83%] Built target c4core-bm-charconv-xtoa-double [ 83%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-uint8: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint8.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<uint8.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint8.json 2022-02-13T03:30:07+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.72, 1.87, 1.50 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- atox_c4_read_dec<uint8_t> 7.71 ns 7.71 ns 89856040 bytes_per_second=123.674M/s items_per_second=129.682M/s atox_c4_read_hex<uint8_t> 0.451 ns 0.450 ns 1000000000 bytes_per_second=2.06775G/s items_per_second=2.22023G/s atox_c4_read_oct<uint8_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=2.08255G/s items_per_second=2.23612G/s atox_c4_read_bin<uint8_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=2.08199G/s items_per_second=2.23552G/s atox_c4_atou<uint8_t> 10.6 ns 10.6 ns 64853256 bytes_per_second=89.8311M/s items_per_second=94.1947M/s atox_c4_atox<uint8_t> 10.8 ns 10.8 ns 63347536 bytes_per_second=88.4178M/s items_per_second=92.7128M/s atox_c4_from_chars<uint8_t> 10.5 ns 10.5 ns 66309184 bytes_per_second=90.8321M/s items_per_second=95.2443M/s atox_std_atoi<uint8_t> 19.1 ns 19.1 ns 38817201 bytes_per_second=49.9379M/s items_per_second=52.3637M/s atox_std_strtoul<uint8_t> 18.3 ns 18.3 ns 37725375 bytes_per_second=52.2462M/s items_per_second=54.7841M/s atox_scanf<uint8_t> 68.0 ns 68.0 ns 10311347 bytes_per_second=14.0253M/s items_per_second=14.7066M/s atox_sstream<uint8_t> 235 ns 235 ns 2974183 bytes_per_second=4.06259M/s items_per_second=4.25993M/s atox_sstream_reuse<uint8_t> 22.9 ns 22.9 ns 30603383 bytes_per_second=41.6948M/s items_per_second=43.7202M/s [ 83%] Built target c4core-bm-charconv-atox-uint8 [ 83%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-int8: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int8.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<int8.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int8.json 2022-02-13T03:30:16+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.61, 1.84, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ------------------------------------------------------------------------------------- atox_c4_read_dec<int8_t> 7.78 ns 7.77 ns 86999654 bytes_per_second=122.661M/s items_per_second=128.619M/s atox_c4_read_hex<int8_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=2.08221G/s items_per_second=2.23576G/s atox_c4_read_oct<int8_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=2.08337G/s items_per_second=2.237G/s atox_c4_read_bin<int8_t> 0.454 ns 0.453 ns 1000000000 bytes_per_second=2.05421G/s items_per_second=2.20569G/s atox_c4_atoi<int8_t> 12.6 ns 12.6 ns 55491583 bytes_per_second=75.9516M/s items_per_second=79.6411M/s atox_c4_atox<int8_t> 12.4 ns 12.4 ns 55998211 bytes_per_second=76.7392M/s items_per_second=80.4669M/s atox_c4_from_chars<int8_t> 12.5 ns 12.5 ns 56054575 bytes_per_second=76.3265M/s items_per_second=80.0341M/s atox_std_atoi<int8_t> 20.0 ns 20.0 ns 35382678 bytes_per_second=47.6747M/s items_per_second=49.9905M/s atox_std_strtol<int8_t> 20.0 ns 20.0 ns 34551215 bytes_per_second=47.6806M/s items_per_second=49.9967M/s atox_scanf<int8_t> 74.1 ns 74.1 ns 9400080 bytes_per_second=12.8689M/s items_per_second=13.494M/s atox_sstream<int8_t> 241 ns 241 ns 2902483 bytes_per_second=3.95176M/s items_per_second=4.14372M/s atox_sstream_reuse<int8_t> 23.2 ns 23.2 ns 30046191 bytes_per_second=41.1542M/s items_per_second=43.1533M/s [ 83%] Built target c4core-bm-charconv-atox-int8 [ 83%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-uint16: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint16.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<uint16.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint16.json 2022-02-13T03:30:26+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.51, 1.81, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- atox_c4_read_dec<uint16_t> 7.76 ns 7.75 ns 89910953 bytes_per_second=245.965M/s items_per_second=128.957M/s atox_c4_read_hex<uint16_t> 0.448 ns 0.448 ns 1000000000 bytes_per_second=4.15811G/s items_per_second=2.23237G/s atox_c4_read_oct<uint16_t> 0.448 ns 0.448 ns 1000000000 bytes_per_second=4.15571G/s items_per_second=2.23108G/s atox_c4_read_bin<uint16_t> 0.448 ns 0.448 ns 1000000000 bytes_per_second=4.16056G/s items_per_second=2.23368G/s atox_c4_atou<uint16_t> 10.8 ns 10.8 ns 63926060 bytes_per_second=175.904M/s items_per_second=92.2242M/s atox_c4_atox<uint16_t> 10.8 ns 10.8 ns 64826339 bytes_per_second=176.203M/s items_per_second=92.3813M/s atox_c4_from_chars<uint16_t> 10.9 ns 10.9 ns 64526232 bytes_per_second=175.558M/s items_per_second=92.043M/s atox_std_atoi<uint16_t> 19.1 ns 19.1 ns 36590294 bytes_per_second=100.028M/s items_per_second=52.4435M/s atox_std_strtoul<uint16_t> 19.5 ns 19.5 ns 36142643 bytes_per_second=97.9782M/s items_per_second=51.3688M/s atox_scanf<uint16_t> 73.1 ns 73.1 ns 9517472 bytes_per_second=26.0936M/s items_per_second=13.6805M/s atox_sstream<uint16_t> 281 ns 281 ns 2534360 bytes_per_second=6.78398M/s items_per_second=3.55676M/s atox_sstream_reuse<uint16_t> 62.1 ns 62.0 ns 11082245 bytes_per_second=30.7458M/s items_per_second=16.1197M/s [ 83%] Built target c4core-bm-charconv-atox-uint16 [ 91%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-int16: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int16.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<int16.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int16.json 2022-02-13T03:30:35+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.59, 1.82, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- atox_c4_read_dec<int16_t> 7.73 ns 7.72 ns 89364564 bytes_per_second=246.949M/s items_per_second=129.472M/s atox_c4_read_hex<int16_t> 0.450 ns 0.450 ns 1000000000 bytes_per_second=4.13865G/s items_per_second=2.22192G/s atox_c4_read_oct<int16_t> 0.449 ns 0.449 ns 1000000000 bytes_per_second=4.15206G/s items_per_second=2.22912G/s atox_c4_read_bin<int16_t> 0.449 ns 0.449 ns 1000000000 bytes_per_second=4.15289G/s items_per_second=2.22957G/s atox_c4_atoi<int16_t> 13.9 ns 13.9 ns 50286113 bytes_per_second=137.094M/s items_per_second=71.8766M/s atox_c4_atox<int16_t> 13.9 ns 13.9 ns 49771099 bytes_per_second=137.376M/s items_per_second=72.0248M/s atox_c4_from_chars<int16_t> 13.9 ns 13.9 ns 49541236 bytes_per_second=137.412M/s items_per_second=72.0434M/s atox_std_atoi<int16_t> 23.6 ns 23.6 ns 29753969 bytes_per_second=80.7225M/s items_per_second=42.3218M/s atox_std_strtol<int16_t> 23.6 ns 23.6 ns 29567538 bytes_per_second=80.7876M/s items_per_second=42.356M/s atox_scanf<int16_t> 80.0 ns 80.0 ns 8725270 bytes_per_second=23.8388M/s items_per_second=12.4984M/s atox_sstream<int16_t> 297 ns 297 ns 2378746 bytes_per_second=6.42497M/s items_per_second=3.36854M/s atox_sstream_reuse<int16_t> 70.9 ns 70.9 ns 9826445 bytes_per_second=26.8936M/s items_per_second=14.1M/s [ 91%] Built target c4core-bm-charconv-atox-int16 [100%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-uint32: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint32.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<uint32.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint32.json 2022-02-13T03:30:44+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.50, 1.79, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- atox_c4_read_dec<uint32_t> 7.71 ns 7.70 ns 81261052 bytes_per_second=495.164M/s items_per_second=129.804M/s atox_c4_read_hex<uint32_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=8.34152G/s items_per_second=2.23916G/s atox_c4_read_oct<uint32_t> 0.448 ns 0.448 ns 1000000000 bytes_per_second=8.31352G/s items_per_second=2.23164G/s atox_c4_read_bin<uint32_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=8.34034G/s items_per_second=2.23884G/s atox_c4_atou<uint32_t> 13.5 ns 13.5 ns 51791103 bytes_per_second=283.005M/s items_per_second=74.188M/s atox_c4_atox<uint32_t> 13.4 ns 13.4 ns 52610213 bytes_per_second=285.621M/s items_per_second=74.8738M/s atox_c4_from_chars<uint32_t> 13.5 ns 13.5 ns 51939231 bytes_per_second=282.651M/s items_per_second=74.0953M/s atox_std_atoi<uint32_t> 26.7 ns 26.7 ns 26205947 bytes_per_second=142.758M/s items_per_second=37.4232M/s atox_std_strtoul<uint32_t> 24.8 ns 24.8 ns 28261076 bytes_per_second=153.697M/s items_per_second=40.2906M/s atox_scanf<uint32_t> 89.8 ns 89.8 ns 7743534 bytes_per_second=42.4939M/s items_per_second=11.1395M/s atox_sstream<uint32_t> 298 ns 298 ns 2332420 bytes_per_second=12.8211M/s items_per_second=3.36097M/s atox_sstream_reuse<uint32_t> 73.2 ns 73.2 ns 9573889 bytes_per_second=52.1068M/s items_per_second=13.6595M/s [100%] Built target c4core-bm-charconv-atox-uint32 [100%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-int32: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int32.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<int32.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int32.json 2022-02-13T03:30:54+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.46, 1.78, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- atox_c4_read_dec<int32_t> 7.84 ns 7.84 ns 80500327 bytes_per_second=486.728M/s items_per_second=127.593M/s atox_c4_read_hex<int32_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=8.32855G/s items_per_second=2.23568G/s atox_c4_read_oct<int32_t> 0.447 ns 0.447 ns 1000000000 bytes_per_second=8.33417G/s items_per_second=2.23719G/s atox_c4_read_bin<int32_t> 0.448 ns 0.448 ns 1000000000 bytes_per_second=8.31433G/s items_per_second=2.23186G/s atox_c4_atoi<int32_t> 18.6 ns 18.6 ns 37418138 bytes_per_second=204.722M/s items_per_second=53.6667M/s atox_c4_atox<int32_t> 18.7 ns 18.7 ns 37646051 bytes_per_second=204.479M/s items_per_second=53.6029M/s atox_c4_from_chars<int32_t> 18.8 ns 18.8 ns 36839962 bytes_per_second=203.166M/s items_per_second=53.2586M/s atox_std_atoi<int32_t> 31.0 ns 31.0 ns 22527097 bytes_per_second=122.927M/s items_per_second=32.2245M/s atox_std_strtol<int32_t> 31.1 ns 31.1 ns 22357403 bytes_per_second=122.681M/s items_per_second=32.1601M/s atox_scanf<int32_t> 97.2 ns 97.2 ns 7155946 bytes_per_second=39.2444M/s items_per_second=10.2877M/s atox_sstream<int32_t> 309 ns 309 ns 2253515 bytes_per_second=12.3484M/s items_per_second=3.23706M/s atox_sstream_reuse<int32_t> 88.2 ns 88.2 ns 7830651 bytes_per_second=43.2676M/s items_per_second=11.3423M/s [100%] Built target c4core-bm-charconv-atox-int32 [100%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-uint64: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint64.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<uint64.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-uint64.json 2022-02-13T03:31:04+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.46, 1.77, 1.49 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. --------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... --------------------------------------------------------------------------------------- atox_c4_read_dec<uint64_t> 7.72 ns 7.72 ns 85327288 bytes_per_second=988.746M/s items_per_second=129.597M/s atox_c4_read_hex<uint64_t> 0.446 ns 0.446 ns 1000000000 bytes_per_second=16.6992G/s items_per_second=2.24133G/s atox_c4_read_oct<uint64_t> 0.446 ns 0.446 ns 1000000000 bytes_per_second=16.7152G/s items_per_second=2.24348G/s atox_c4_read_bin<uint64_t> 0.446 ns 0.446 ns 1000000000 bytes_per_second=16.7216G/s items_per_second=2.24434G/s atox_c4_atou<uint64_t> 13.5 ns 13.5 ns 51507080 bytes_per_second=566.622M/s items_per_second=74.2682M/s atox_c4_atox<uint64_t> 13.3 ns 13.3 ns 52562435 bytes_per_second=573.914M/s items_per_second=75.224M/s atox_c4_from_chars<uint64_t> 13.6 ns 13.5 ns 51811512 bytes_per_second=563.173M/s items_per_second=73.8162M/s atox_std_atol<uint64_t> 26.6 ns 26.6 ns 26354729 bytes_per_second=286.409M/s items_per_second=37.5402M/s atox_std_strtoull<uint64_t> 24.6 ns 24.6 ns 28502054 bytes_per_second=309.607M/s items_per_second=40.5809M/s atox_scanf<uint64_t> 90.5 ns 90.4 ns 7719214 bytes_per_second=84.3526M/s items_per_second=11.0563M/s atox_sstream<uint64_t> 298 ns 298 ns 2355163 bytes_per_second=25.58M/s items_per_second=3.35282M/s atox_sstream_reuse<uint64_t> 75.3 ns 75.3 ns 9262492 bytes_per_second=101.376M/s items_per_second=13.2875M/s [100%] Built target c4core-bm-charconv-atox-uint64 [100%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-int64: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int64.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<int64.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-int64.json 2022-02-13T03:31:13+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.39, 1.74, 1.48 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. -------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... -------------------------------------------------------------------------------------- atox_c4_read_dec<int64_t> 7.73 ns 7.73 ns 89860490 bytes_per_second=987.546M/s items_per_second=129.44M/s atox_c4_read_hex<int64_t> 0.450 ns 0.449 ns 1000000000 bytes_per_second=16.58G/s items_per_second=2.22533G/s atox_c4_read_oct<int64_t> 0.447 ns 0.446 ns 1000000000 bytes_per_second=16.6892G/s items_per_second=2.23998G/s atox_c4_read_bin<int64_t> 0.446 ns 0.446 ns 1000000000 bytes_per_second=16.693G/s items_per_second=2.2405G/s atox_c4_atoi<int64_t> 13.7 ns 13.7 ns 51159530 bytes_per_second=556.104M/s items_per_second=72.8897M/s atox_c4_atox<int64_t> 13.7 ns 13.6 ns 51229973 bytes_per_second=558.933M/s items_per_second=73.2605M/s atox_c4_from_chars<int64_t> 13.7 ns 13.7 ns 51167779 bytes_per_second=557.494M/s items_per_second=73.0719M/s atox_std_atol<int64_t> 26.7 ns 26.7 ns 26050434 bytes_per_second=285.931M/s items_per_second=37.4775M/s atox_std_strtoll<int64_t> 26.3 ns 26.2 ns 26658542 bytes_per_second=290.69M/s items_per_second=38.1013M/s atox_scanf<int64_t> 94.6 ns 94.6 ns 7176631 bytes_per_second=80.6836M/s items_per_second=10.5754M/s atox_sstream<int64_t> 295 ns 295 ns 2373042 bytes_per_second=25.9027M/s items_per_second=3.39512M/s atox_sstream_reuse<int64_t> 77.0 ns 76.9 ns 9069388 bytes_per_second=99.1754M/s items_per_second=12.9991M/s [100%] Built target c4core-bm-charconv-atox-int64 [100%] c4core: running benchmark c4core-bm-charconv, case c4core-bm-charconv-atox-float: saving results in /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-float.json /home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/c4core-bm-charconv-0.1.8 --benchmark_filter=^atox.*<float.*;--benchmark_out_format=json;--benchmark_out=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm/bm-results/c4core-bm-charconv-atox-float.json 2022-02-13T03:31:23+00:00 Running ./c4core-bm-charconv-0.1.8 Run on (20 X 4500 MHz CPU s) CPU Caches: L1 Data 32 KiB (x10) L1 Instruction 32 KiB (x10) L2 Unified 1024 KiB (x10) L3 Unified 19712 KiB (x1) Load Average: 1.33, 1.72, 1.47 ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. ---------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------------------------------- atox_c4_atof<float> 21.6 ns 21.6 ns 32600566 bytes_per_second=176.287M/s items_per_second=46.2127M/s atox_c4_atox<float> 21.8 ns 21.8 ns 32020646 bytes_per_second=174.769M/s items_per_second=45.8146M/s atox_c4_from_chars<float> 21.4 ns 21.4 ns 32535027 bytes_per_second=177.898M/s items_per_second=46.6348M/s atox_ryu_s2f<float> 28.0 ns 27.9 ns 25164483 bytes_per_second=136.498M/s items_per_second=35.7822M/s atox_fast_float<float> 22.0 ns 22.0 ns 31770880 bytes_per_second=173.266M/s items_per_second=45.4206M/s atox_fp_from_chars_limited<float> 7.64 ns 7.64 ns 91354815 bytes_per_second=499.393M/s items_per_second=130.913M/s atox_fp_from_chars_unlimited<float> 7.62 ns 7.62 ns 91961849 bytes_per_second=500.803M/s items_per_second=131.282M/s atox_std_atof<float> 89.8 ns 89.8 ns 7820264 bytes_per_second=42.493M/s items_per_second=11.1393M/s atox_std_strtof<float> 86.9 ns 86.9 ns 8054319 bytes_per_second=43.9183M/s items_per_second=11.5129M/s atox_std_stof<float> 87.7 ns 87.7 ns 8000812 bytes_per_second=43.5196M/s items_per_second=11.4084M/s atox_scanf<float> 161 ns 161 ns 4348858 bytes_per_second=23.7363M/s items_per_second=6.22232M/s atox_sstream<float> 413 ns 413 ns 1701121 bytes_per_second=9.24398M/s items_per_second=2.42325M/s atox_sstream_reuse<float> 185 ns 185 ns 3784110 bytes_per_second=20.586M/s items_per_second=5.3965M/s [100%] Built target c4core-bm-charconv-atox-float CWD=/home/jpmag/proj/rapidyaml/ext/c4core/build/linux-x86_64-gxx11.1-Release/bm [100%] Built target c4core-bm-run ```
This commit is contained in:
87
.github/workflows/benchmarks.yml
vendored
Normal file
87
.github/workflows/benchmarks.yml
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
name: benchmarks
|
||||
|
||||
defaults:
|
||||
run:
|
||||
# Use a bash shell so we can use the same syntax for environment variable
|
||||
# access regardless of the host operating system
|
||||
shell: bash -e -x {0}
|
||||
|
||||
on:
|
||||
# https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
env:
|
||||
PROJ_PFX_TARGET: c4core-
|
||||
PROJ_PFX_CMAKE: C4CORE_
|
||||
CMAKE_FLAGS:
|
||||
NUM_JOBS_BUILD: # 4
|
||||
|
||||
|
||||
jobs:
|
||||
benchmarks:
|
||||
name: bm/c++${{matrix.std}}/${{matrix.cxx}}/${{matrix.bt}}
|
||||
if: |
|
||||
(!contains(github.event.head_commit.message, 'skip all')) ||
|
||||
(!contains(github.event.head_commit.message, 'skip benchmarks')) ||
|
||||
contains(github.event.head_commit.message, 'only benchmarks')
|
||||
continue-on-error: true
|
||||
runs-on: ${{matrix.os}}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- {std: 11, cxx: g++-10, bt: Debug , os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 11, cxx: g++-10, bt: Release, os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 17, cxx: g++-10, bt: Debug , os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 17, cxx: g++-10, bt: Release, os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 20, cxx: g++-10, bt: Debug , os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 20, cxx: g++-10, bt: Release, os: ubuntu-18.04 , bitlinks: static64 static32}
|
||||
- {std: 11, cxx: vs2019, bt: Debug , os: windows-latest, bitlinks: static64 static32}
|
||||
- {std: 11, cxx: vs2019, bt: Release, os: windows-latest, bitlinks: static64 static32}
|
||||
- {std: 17, cxx: vs2019, bt: Debug , os: windows-latest, bitlinks: static64 static32}
|
||||
- {std: 17, cxx: vs2019, bt: Release, os: windows-latest, bitlinks: static64 static32}
|
||||
- {std: 20, cxx: vs2019, bt: Debug , os: windows-latest, bitlinks: static64 static32}
|
||||
- {std: 20, cxx: vs2019, bt: Release, os: windows-latest, bitlinks: static64 static32}
|
||||
env: {BM: ON, STD: "${{matrix.std}}", CXX_: "${{matrix.cxx}}", BT: "${{matrix.bt}}", BITLINKS: "${{matrix.bitlinks}}", VG: "${{matrix.vg}}", SAN: "${{matrix.san}}", LINT: "${{matrix.lint}}", OS: "${{matrix.os}}"}
|
||||
steps:
|
||||
# use fetch-depth to ensure all tags are fetched
|
||||
- {name: checkout, uses: actions/checkout@v2, with: {submodules: recursive, fetch-depth: 0}}
|
||||
- {name: install requirements, run: source .github/reqs.sh && c4_install_test_requirements $OS}
|
||||
- {name: show info, run: source .github/setenv.sh && c4_show_info}
|
||||
- name: shared64-configure---------------------------------------------------
|
||||
run: source .github/setenv.sh && c4_cfg_test shared64
|
||||
- {name: shared64-build, run: source .github/setenv.sh && c4_build_target shared64 c4core-bm-build}
|
||||
- {name: shared64-run, run: export NUM_JOBS_BUILD=1 && source .github/setenv.sh && c4_run_target shared64 c4core-bm-run}
|
||||
- name: static64-configure---------------------------------------------------
|
||||
run: source .github/setenv.sh && c4_cfg_test static64
|
||||
- {name: static64-build, run: source .github/setenv.sh && c4_build_target static64 c4core-bm-build}
|
||||
- {name: static64-run, run: export NUM_JOBS_BUILD=1 && source .github/setenv.sh && c4_run_target static64 c4core-bm-run}
|
||||
- name: static32-configure---------------------------------------------------
|
||||
run: source .github/setenv.sh && c4_cfg_test static32
|
||||
- {name: static32-build, run: source .github/setenv.sh && c4_build_target static32 c4core-bm-build}
|
||||
- {name: static32-run, run: export NUM_JOBS_BUILD=1 && source .github/setenv.sh && c4_run_target static32 c4core-bm-run}
|
||||
- name: shared32-configure---------------------------------------------------
|
||||
run: source .github/setenv.sh && c4_cfg_test shared32
|
||||
- {name: shared32-build, run: source .github/setenv.sh && c4_build_target shared32 c4core-bm-build}
|
||||
- {name: shared32-run, run: export NUM_JOBS_BUILD=1 && source .github/setenv.sh && c4_run_target shared32 c4core-bm-run}
|
||||
- name: gather benchmark results
|
||||
run: |
|
||||
set -x
|
||||
desc=$(git describe || git rev-parse --short HEAD)
|
||||
for bl in ${{matrix.bitlinks}} ; do
|
||||
dst=$(echo benchmark_results/$desc/${{matrix.cxx}}-${{matrix.bt}}-c++${{matrix.std}}-$bl | sed 's:++-:xx:g' | sed 's:+:x:g')
|
||||
mkdir -p $dst
|
||||
find build -name bm-results
|
||||
mv -vf build/$bl/bm/bm-results/* $dst/.
|
||||
done
|
||||
- name: upload benchmark result artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: benchmark_results
|
||||
path: benchmark_results/
|
||||
@@ -25,6 +25,10 @@ c4_add_target_benchmark(c4core-bm-format cat FILTER "^cat_.*")
|
||||
c4_add_target_benchmark(c4core-bm-format catsep FILTER "^catsep_.*")
|
||||
c4_add_target_benchmark(c4core-bm-format format FILTER "^format_.*")
|
||||
|
||||
c4_add_target_benchmark(c4core-bm-format catfile FILTER "^catfile_.*")
|
||||
c4_add_target_benchmark(c4core-bm-format catsepfile FILTER "^catsepfile_.*")
|
||||
c4_add_target_benchmark(c4core-bm-format formatfile FILTER "^formatfile_.*")
|
||||
|
||||
|
||||
#----------------------------------------------
|
||||
|
||||
|
||||
21
bm/bm.yml
21
bm/bm.yml
@@ -4,9 +4,6 @@ prefix: c4core-bm
|
||||
# TODO https://stackoverflow.com/questions/12360547/tool-for-retrieving-the-list-of-functions-and-methods-in-a-c-code-base
|
||||
|
||||
bm:
|
||||
format-cat:
|
||||
desc: compares stringification of a sequence of heterogeneous general types
|
||||
src: bm_format.hpp
|
||||
charconv-atox:
|
||||
desc: read string to arithmetic value
|
||||
src: bm_charconv.cpp
|
||||
@@ -15,3 +12,21 @@ bm:
|
||||
desc: write arithmetic value to string
|
||||
src: bm_charconv.cpp
|
||||
template_types: [uint8, int8, uint16, int16, uint32, int32, uint64, int64, float, double]
|
||||
format-cat:
|
||||
desc: compares stringification of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
format-catfile:
|
||||
desc: compares stringification to a file of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
format-catsep:
|
||||
desc: compares stringification of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
format-catsepfile:
|
||||
desc: compares stringification to a file of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
format-format:
|
||||
desc: compares formatting of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
format-formatfile:
|
||||
desc: compares stringification to a file of a sequence of heterogeneous general types
|
||||
src: bm_format.cpp
|
||||
|
||||
830
bm/bm_format.cpp
830
bm/bm_format.cpp
@@ -2,8 +2,10 @@
|
||||
#include <c4/c4_push.hpp>
|
||||
#include <c4/std/std.hpp>
|
||||
#include <c4/format.hpp>
|
||||
#include <c4/dump.hpp>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cstdlib>
|
||||
#include <vector>
|
||||
#include <benchmark/benchmark.h>
|
||||
@@ -41,6 +43,9 @@ void report(bm::State &st, size_t sz)
|
||||
}
|
||||
|
||||
|
||||
const c4::csubstr sep = " --- ";
|
||||
|
||||
|
||||
#define _c4argbundle_fmt "hello here you have some numbers: "\
|
||||
"1={}, 2={}, 3={}, 4={}, 5={}, 6={}, 7={}, 8={}, 9={}, size_t(283482349)={}, "\
|
||||
"\" \"=\"{}\", \"haha\"=\"{}\", std::string(\"hehe\")=\"{}\", "\
|
||||
@@ -51,6 +56,11 @@ void report(bm::State &st, size_t sz)
|
||||
"\" \"=\"%s\", \"haha\"=\"%s\", std::string(\"hehe\")=\"%s\", "\
|
||||
"str=\"%s\""
|
||||
|
||||
#define _c4argbundle_fmt_printf_sep "hello here you have some numbers: "\
|
||||
"1=%d%s2=%d%s3=%d%s4=%d%s5=%d%s6=%d%s7=%d%s8=%d%s9=%d%ssize_t(283482349)=%zu%s"\
|
||||
"\" \"=\"%s\"%s\"haha\"=\"%s\"%sstd::string(\"hehe\")=\"%s\"%s"\
|
||||
"str=\"%s\""
|
||||
|
||||
#define _c4argbundle \
|
||||
1, 2, 3, 4, 5, 6, 7, 8, 9, size_t(283482349),\
|
||||
" ", "haha", std::string("hehe"),\
|
||||
@@ -61,162 +71,57 @@ void report(bm::State &st, size_t sz)
|
||||
" ", "haha", std::string("hehe").c_str(),\
|
||||
std::string("asdlklkasdlkjasd asdlkjasdlkjasdlkjasdoiasdlkjasldkj").c_str()
|
||||
|
||||
#define _c4argbundle_printf_sep \
|
||||
1, sep.str, 2, sep.str, 3, sep.str, 4, sep.str, 5, sep.str, 6, sep.str, 7, sep.str, 8, sep.str, 9, sep.str, size_t(283482349), sep.str,\
|
||||
" ", sep.str, "haha", sep.str, std::string("hehe").c_str(), sep.str,\
|
||||
std::string("asdlklkasdlkjasd asdlkjasdlkjasdlkjasdoiasdlkjasldkj").c_str()
|
||||
|
||||
#define _c4argbundle_lshift \
|
||||
1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << size_t(283482349)\
|
||||
<< " " << "haha" << std::string("hehe")\
|
||||
<< std::string("asdlklkasdlkjasd asdlkjasdlkjasdlkjasdoiasdlkjasldkj")
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void cat_c4cat_substr(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = cat(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4cat_substr(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = catsep(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catrs_reuse(bm::State &st)
|
||||
{
|
||||
std::string buf;
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catrs(&buf, _c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catrs_reuse(bm::State &st)
|
||||
{
|
||||
std::string buf;
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catseprs(&buf, _c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catrs_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
auto buf = c4::catrs<std::string>(_c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catrs_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
auto buf = c4::catseprs<std::string>(_c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void cat_std_stringstream_impl(std::stringstream &)
|
||||
{
|
||||
}
|
||||
void catsep_std_stringstream_impl(std::stringstream &)
|
||||
{
|
||||
}
|
||||
|
||||
template<class Arg, class... Args>
|
||||
void cat_std_stringstream_impl(std::stringstream &ss, Arg const& a, Args const& ...args)
|
||||
{
|
||||
ss << a;
|
||||
cat_std_stringstream_impl(ss, args...);
|
||||
}
|
||||
|
||||
template<class Arg, class... Args>
|
||||
void catsep_std_stringstream_impl(std::stringstream &ss, Arg const& a, Args const& ...args)
|
||||
{
|
||||
ss << ' ' << a;
|
||||
cat_std_stringstream_impl(ss, args...);
|
||||
}
|
||||
|
||||
void cat_stdsstream_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::stringstream ss;
|
||||
for(auto _ : st)
|
||||
{
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
cat_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_stdsstream_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::stringstream ss;
|
||||
for(auto _ : st)
|
||||
{
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
catsep_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_stdsstream_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
std::stringstream ss;
|
||||
cat_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_stdsstream_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
std::stringstream ss;
|
||||
catsep_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
#define _c4argbundle_lshift_sep \
|
||||
1 << sep << 2 << sep << 3 << sep << 4 << sep << 5 << sep << 6 << sep << 7 << sep << 8 << sep << 9 << sep << size_t(283482349)\
|
||||
<< sep << " " << sep << "haha" << sep << std::string("hehe")\
|
||||
<< sep << std::string("asdlklkasdlkjasd asdlkjasdlkjasdlkjasdoiasdlkjasldkj")
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace dump2str {
|
||||
std::string c_style_subject;
|
||||
void c_style(c4::csubstr s) { c_style_subject.append(s.str, s.len); }
|
||||
struct cpp_style
|
||||
{
|
||||
std::string subject = {};
|
||||
void operator() (c4::csubstr s) { subject.append(s.str, s.len); }
|
||||
};
|
||||
struct lambda_style
|
||||
{
|
||||
std::string subject = {};
|
||||
};
|
||||
} // namespace dump2str
|
||||
|
||||
namespace dump2file {
|
||||
FILE * c_style_subject;
|
||||
void c_style(c4::csubstr s) { fwrite(s.str, 1, s.len, c_style_subject); }
|
||||
struct cpp_style
|
||||
{
|
||||
FILE * subject;
|
||||
cpp_style() : subject(fopen("asdkjhasdkjhsdfoiefkjn", "wb")) {}
|
||||
~cpp_style() { fclose(subject); }
|
||||
void operator() (c4::csubstr s) { fwrite(s.str, 1, s.len, subject); }
|
||||
};
|
||||
struct lambda_style
|
||||
{
|
||||
lambda_style() : subject(fopen("asdkjhasdkjhsdfoiefkjn", "wb")) {}
|
||||
~lambda_style() { fclose(subject); }
|
||||
FILE * subject;
|
||||
};
|
||||
} // namespace dump2fil
|
||||
|
||||
template<class T>
|
||||
C4_ALWAYS_INLINE typename std::enable_if<std::is_arithmetic<T>::value, std::string>::type
|
||||
@@ -232,6 +137,11 @@ std_to_string(std::string const& a)
|
||||
return a;
|
||||
}
|
||||
|
||||
C4_ALWAYS_INLINE std::string std_to_string(c4::csubstr a)
|
||||
{
|
||||
return std::string(a.str, a.len);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
C4_ALWAYS_INLINE typename std::enable_if< ! std::is_arithmetic<T>::value, std::string>::type
|
||||
std_to_string(T const& a)
|
||||
@@ -257,9 +167,149 @@ void cat_std_string_impl(std::string *s, Arg const& a, Args const& ...args)
|
||||
template<class Arg, class... Args>
|
||||
void catsep_std_string_impl(std::string *s, Arg const& a, Args const& ...args)
|
||||
{
|
||||
*s += ' ';
|
||||
*s += std_to_string(a);
|
||||
cat_std_string_impl(s, args...);
|
||||
if(sizeof...(args) > 0)
|
||||
{
|
||||
s->append(sep.str, sep.len);
|
||||
catsep_std_string_impl(s, args...);
|
||||
}
|
||||
}
|
||||
|
||||
void cat_std_stringstream_impl(std::stringstream &)
|
||||
{
|
||||
}
|
||||
void catsep_std_stringstream_impl(std::stringstream &)
|
||||
{
|
||||
}
|
||||
|
||||
template<class Arg, class... Args>
|
||||
void cat_std_stringstream_impl(std::stringstream &ss, Arg const& a, Args const& ...args)
|
||||
{
|
||||
ss << a;
|
||||
cat_std_stringstream_impl(ss, args...);
|
||||
}
|
||||
|
||||
template<class Arg, class... Args>
|
||||
void catsep_std_stringstream_impl(std::stringstream &ss, Arg const& a, Args const& ...args)
|
||||
{
|
||||
ss << sep << a;
|
||||
cat_std_stringstream_impl(ss, args...);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void cat_c4cat_substr(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = cat(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catrs_reuse(bm::State &st)
|
||||
{
|
||||
std::string buf;
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catrs(&buf, _c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catrs_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
auto buf = c4::catrs<std::string>(_c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::cat_dump<&dump2str::c_style>(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::cat_dump(&dump2str::c_style, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
dump2str::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::cat_dump(dumper, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_c4catdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
dump2str::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { dumper.subject.append(s.str, s.len); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::cat_dump(lambda, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_stdsstream_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::stringstream ss;
|
||||
for(auto _ : st)
|
||||
{
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
cat_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_stdsstream_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
std::stringstream ss;
|
||||
cat_std_stringstream_impl(ss, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_std_to_string_reuse(bm::State &st)
|
||||
@@ -275,19 +325,6 @@ void cat_std_to_string_reuse(bm::State &st)
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_std_to_string_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::string s;
|
||||
for(auto _ : st)
|
||||
{
|
||||
s.clear();
|
||||
catsep_std_string_impl(&s, _c4argbundle);
|
||||
sz = s.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void cat_std_to_string_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
@@ -300,13 +337,227 @@ void cat_std_to_string_no_reuse(bm::State &st)
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void catfile_c4catdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::cat_dump<&dump2file::c_style>(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catfile_c4catdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::cat_dump(&dump2file::c_style, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catfile_c4catdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::cat_dump(dumper, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catfile_c4catdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
dump2file::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { fwrite(s.str, 1, s.len, dumper.subject); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::cat_dump(lambda, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catfile_fprintf(bm::State &st)
|
||||
{
|
||||
char buf[256];
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
fprintf(dumper.subject, _c4argbundle_fmt_printf, _c4argbundle_printf);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catfile_ofstream(bm::State &st)
|
||||
{
|
||||
char buf[256];
|
||||
size_t sz = c4::cat(buf, _c4argbundle);
|
||||
std::ofstream ofs("ddofgufgbmn4g0rtglf", std::ios::out|std::ios::binary);
|
||||
for(auto _ : st)
|
||||
{
|
||||
ofs << _c4argbundle_lshift;
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void catsep_c4cat_substr(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = catsep(buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catrs_reuse(bm::State &st)
|
||||
{
|
||||
std::string buf;
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catseprs(&buf, _c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catrs_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
auto buf = c4::catseprs<std::string>(sep, _c4argbundle);
|
||||
sz = buf.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catsep_dump<&dump2str::c_style>(buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::catsep_dump(&dump2str::c_style, buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, _c4argbundle);
|
||||
dump2str::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::catsep_dump(dumper, buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_c4catdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
dump2str::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { dumper.subject.append(s.str, s.len); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
sz = c4::catsep_dump(lambda, buf, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_stdsstream_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::stringstream ss;
|
||||
for(auto _ : st)
|
||||
{
|
||||
ss.clear();
|
||||
ss.str("");
|
||||
catsep_std_stringstream_impl(ss, sep, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_stdsstream_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
std::stringstream ss;
|
||||
catsep_std_stringstream_impl(ss, sep, _c4argbundle);
|
||||
sz = ss.str().size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_std_to_string_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
std::string s;
|
||||
for(auto _ : st)
|
||||
{
|
||||
s.clear();
|
||||
catsep_std_string_impl(&s, sep, _c4argbundle);
|
||||
sz = s.size();
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsep_std_to_string_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
{
|
||||
std::string s;
|
||||
catsep_std_string_impl(&s, _c4argbundle);
|
||||
catsep_std_string_impl(&s, sep, _c4argbundle);
|
||||
sz = s.size();
|
||||
}
|
||||
report(st, sz);
|
||||
@@ -317,7 +568,91 @@ void catsep_std_to_string_no_reuse(bm::State &st)
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void format_c4_format(bm::State &st)
|
||||
void catsepfile_c4catsepdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catsep_dump<&dump2file::c_style>(buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsepfile_c4catsepdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catsep_dump(&dump2file::c_style, buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsepfile_c4catsepdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catsep_dump(dumper, buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsepfile_c4catsepdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
dump2file::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { fwrite(s.str, 1, s.len, dumper.subject); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::catsep_dump(lambda, buf, sep, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsepfile_fprintf(bm::State &st)
|
||||
{
|
||||
char buf[256];
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
fprintf(dumper.subject, _c4argbundle_fmt_printf_sep, _c4argbundle_printf_sep);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void catsepfile_ofstream(bm::State &st)
|
||||
{
|
||||
char buf[256];
|
||||
size_t sz = c4::catsep(buf, sep, _c4argbundle);
|
||||
std::ofstream ofs("ddofgufgbmn4g0rtglf", std::ios::out|std::ios::binary);
|
||||
for(auto _ : st)
|
||||
{
|
||||
ofs << _c4argbundle_lshift_sep;
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void format_c4format(bm::State &st)
|
||||
{
|
||||
char buf_[512];
|
||||
c4::substr buf(buf_);
|
||||
@@ -329,7 +664,7 @@ void format_c4_format(bm::State &st)
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4_formatrs_reuse(bm::State &st)
|
||||
void format_c4formatrs_reuse(bm::State &st)
|
||||
{
|
||||
std::string buf;
|
||||
size_t sz = 0;
|
||||
@@ -341,7 +676,7 @@ void format_c4_formatrs_reuse(bm::State &st)
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4_formatrs_no_reuse(bm::State &st)
|
||||
void format_c4formatrs_no_reuse(bm::State &st)
|
||||
{
|
||||
size_t sz = 0;
|
||||
for(auto _ : st)
|
||||
@@ -352,6 +687,57 @@ void format_c4_formatrs_no_reuse(bm::State &st)
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4formatdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump<&dump2str::c_style>(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4formatdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(&dump2str::c_style, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4formatdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
dump2str::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(dumper, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_c4formatdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
dump2str::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { dumper.subject.append(s.str, s.len); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(lambda, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void format_snprintf(bm::State &st)
|
||||
{
|
||||
char buf_[512];
|
||||
@@ -365,6 +751,78 @@ void format_snprintf(bm::State &st)
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void formatfile_c4formatdump_c_style_static_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump<&dump2file::c_style>(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void formatfile_c4formatdump_c_style_dynamic_dispatch(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
dump2file::cpp_style fileowner;
|
||||
dump2file::c_style_subject = fileowner.subject;
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(&dump2file::c_style, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void formatfile_c4formatdump_cpp_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(dumper, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void formatfile_c4formatdump_lambda_style(bm::State &st)
|
||||
{
|
||||
char buf_[256];
|
||||
c4::substr buf(buf_);
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
dump2file::lambda_style dumper;
|
||||
auto lambda = [&dumper](c4::csubstr s) { fwrite(s.str, 1, s.len, dumper.subject); };
|
||||
for(auto _ : st)
|
||||
{
|
||||
c4::format_dump(lambda, buf, _c4argbundle_fmt, _c4argbundle);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
void formatfile_fprintf(bm::State &st)
|
||||
{
|
||||
char buf[256];
|
||||
size_t sz = c4::format(buf, _c4argbundle_fmt, _c4argbundle);
|
||||
dump2file::cpp_style dumper;
|
||||
for(auto _ : st)
|
||||
{
|
||||
fprintf(dumper.subject, _c4argbundle_fmt_printf, _c4argbundle_printf);
|
||||
}
|
||||
report(st, sz);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -372,26 +830,58 @@ void format_snprintf(bm::State &st)
|
||||
C4BM(cat_c4cat_substr);
|
||||
C4BM(cat_c4catrs_reuse);
|
||||
C4BM(cat_c4catrs_no_reuse);
|
||||
C4BM(cat_c4catdump_c_style_static_dispatch);
|
||||
C4BM(cat_c4catdump_c_style_dynamic_dispatch);
|
||||
C4BM(cat_c4catdump_cpp_style);
|
||||
C4BM(cat_c4catdump_lambda_style);
|
||||
C4BM(cat_std_to_string_reuse);
|
||||
C4BM(cat_std_to_string_no_reuse);
|
||||
C4BM(cat_stdsstream_reuse);
|
||||
C4BM(cat_stdsstream_no_reuse);
|
||||
|
||||
C4BM(catfile_c4catdump_c_style_static_dispatch);
|
||||
C4BM(catfile_c4catdump_c_style_dynamic_dispatch);
|
||||
C4BM(catfile_c4catdump_cpp_style);
|
||||
C4BM(catfile_c4catdump_lambda_style);
|
||||
C4BM(catfile_fprintf);
|
||||
C4BM(catfile_ofstream);
|
||||
|
||||
|
||||
C4BM(catsep_c4cat_substr);
|
||||
C4BM(catsep_c4catrs_reuse);
|
||||
C4BM(catsep_c4catrs_no_reuse);
|
||||
C4BM(catsep_c4catdump_c_style_static_dispatch);
|
||||
C4BM(catsep_c4catdump_c_style_dynamic_dispatch);
|
||||
C4BM(catsep_c4catdump_cpp_style);
|
||||
C4BM(catsep_c4catdump_lambda_style);
|
||||
C4BM(catsep_std_to_string_reuse);
|
||||
C4BM(catsep_std_to_string_no_reuse);
|
||||
C4BM(catsep_stdsstream_reuse);
|
||||
C4BM(catsep_stdsstream_no_reuse);
|
||||
|
||||
C4BM(catsepfile_c4catsepdump_c_style_static_dispatch);
|
||||
C4BM(catsepfile_c4catsepdump_c_style_dynamic_dispatch);
|
||||
C4BM(catsepfile_c4catsepdump_cpp_style);
|
||||
C4BM(catsepfile_c4catsepdump_lambda_style);
|
||||
C4BM(catsepfile_fprintf);
|
||||
C4BM(catsepfile_ofstream);
|
||||
|
||||
C4BM(format_c4_format);
|
||||
C4BM(format_c4_formatrs_reuse);
|
||||
C4BM(format_c4_formatrs_no_reuse);
|
||||
|
||||
C4BM(format_c4format);
|
||||
C4BM(format_c4formatrs_reuse);
|
||||
C4BM(format_c4formatrs_no_reuse);
|
||||
C4BM(format_c4formatdump_c_style_static_dispatch);
|
||||
C4BM(format_c4formatdump_c_style_dynamic_dispatch);
|
||||
C4BM(format_c4formatdump_cpp_style);
|
||||
C4BM(format_c4formatdump_lambda_style);
|
||||
C4BM(format_snprintf);
|
||||
|
||||
C4BM(formatfile_c4formatdump_c_style_static_dispatch);
|
||||
C4BM(formatfile_c4formatdump_c_style_dynamic_dispatch);
|
||||
C4BM(formatfile_c4formatdump_cpp_style);
|
||||
C4BM(formatfile_c4formatdump_lambda_style);
|
||||
C4BM(formatfile_fprintf);
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user