mirror of https://github.com/orefkov/simstr.git
938 lines
139 KiB
Plaintext
938 lines
139 KiB
Plaintext
Benchmarks of simstr, version 1.6.6
|
|
Sources: https://github.com/orefkov/simstr
|
|
Results: https://orefkov.github.io/simstr/results.html
|
|
|
|
2026-02-10T20:25:15+03:00
|
|
Running benchStr.exe
|
|
Run on (32 X 2494 MHz CPU s)
|
|
CPU Caches:
|
|
L1 Data 32 KiB (x16)
|
|
L1 Instruction 32 KiB (x16)
|
|
L2 Unified 256 KiB (x16)
|
|
L3 Unified 40960 KiB (x1)
|
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Benchmark Time CPU Iterations
|
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
----- Concatenate string + Number + "Literal" ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Concat std::string and number by std to std::string_mean 326 ns 324 ns 4
|
|
Concat std::string and number by std to std::string_median 327 ns 322 ns 4
|
|
Concat std::string and number by std to std::string_stddev 2.94 ns 3.66 ns 4
|
|
Concat std::string and number by std to std::string_cv 0.90 % 1.13 % 4
|
|
Concat std::string and number by StrExpr to std::string_mean 208 ns 206 ns 4
|
|
Concat std::string and number by StrExpr to std::string_median 207 ns 209 ns 4
|
|
Concat std::string and number by StrExpr to std::string_stddev 1.95 ns 4.53 ns 4
|
|
Concat std::string and number by StrExpr to std::string_cv 0.94 % 2.20 % 4
|
|
Concat stringa and number by StrExpr to simstr::stringa_mean 106 ns 105 ns 4
|
|
Concat stringa and number by StrExpr to simstr::stringa_median 107 ns 106 ns 4
|
|
Concat stringa and number by StrExpr to simstr::stringa_stddev 2.08 ns 1.40 ns 4
|
|
Concat stringa and number by StrExpr to simstr::stringa_cv 1.96 % 1.32 % 4
|
|
Concat stringa and number by e_concat to simstr::stringa_mean 118 ns 118 ns 4
|
|
Concat stringa and number by e_concat to simstr::stringa_median 119 ns 120 ns 4
|
|
Concat stringa and number by e_concat to simstr::stringa_stddev 1.33 ns 2.44 ns 4
|
|
Concat stringa and number by e_concat to simstr::stringa_cv 1.13 % 2.06 % 4
|
|
----- Concatenate string + Hex Number + "Literal" ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Concat std::string and format hex number and literal to std::string_mean 1008 ns 1010 ns 4
|
|
Concat std::string and format hex number and literal to std::string_median 1002 ns 1004 ns 4
|
|
Concat std::string and format hex number and literal to std::string_stddev 37.0 ns 26.3 ns 4
|
|
Concat std::string and format hex number and literal to std::string_cv 3.66 % 2.61 % 4
|
|
std::format std::string and hex number by literal to std::string_mean 1794 ns 1779 ns 4
|
|
std::format std::string and hex number by literal to std::string_median 1813 ns 1800 ns 4
|
|
std::format std::string and hex number by literal to std::string_stddev 44.1 ns 41.9 ns 4
|
|
std::format std::string and hex number by literal to std::string_cv 2.46 % 2.35 % 4
|
|
Concat std::string and std::to_chars and string to std::string_mean 244 ns 243 ns 4
|
|
Concat std::string and std::to_chars and string to std::string_median 244 ns 243 ns 4
|
|
Concat std::string and std::to_chars and string to std::string_stddev 3.07 ns 3.22 ns 4
|
|
Concat std::string and std::to_chars and string to std::string_cv 1.26 % 1.33 % 4
|
|
Concat std::string and hex number and literal by StrExpr to std::string_mean 113 ns 112 ns 4
|
|
Concat std::string and hex number and literal by StrExpr to std::string_median 114 ns 112 ns 4
|
|
Concat std::string and hex number and literal by StrExpr to std::string_stddev 1.09 ns 1.99 ns 4
|
|
Concat std::string and hex number and literal by StrExpr to std::string_cv 0.96 % 1.77 % 4
|
|
Concat stringa and hex number and literal by StrExpr to simstr::stringa_mean 98.4 ns 98.4 ns 4
|
|
Concat stringa and hex number and literal by StrExpr to simstr::stringa_median 98.0 ns 98.4 ns 4
|
|
Concat stringa and hex number and literal by StrExpr to simstr::stringa_stddev 4.11 ns 3.42 ns 4
|
|
Concat stringa and hex number and literal by StrExpr to simstr::stringa_cv 4.18 % 3.47 % 4
|
|
Concat stringa and hex number and literal by e_concat to simstr::stringa_mean 99.4 ns 99.9 ns 4
|
|
Concat stringa and hex number and literal by e_concat to simstr::stringa_median 99.3 ns 100 ns 4
|
|
Concat stringa and hex number and literal by e_concat to simstr::stringa_stddev 0.736 ns 1.05 ns 4
|
|
Concat stringa and hex number and literal by e_concat to simstr::stringa_cv 0.74 % 1.05 % 4
|
|
Subst stringa and hex number by e_subst literal to simstr::stringa_mean 178 ns 177 ns 4
|
|
Subst stringa and hex number by e_subst literal to simstr::stringa_median 168 ns 167 ns 4
|
|
Subst stringa and hex number by e_subst literal to simstr::stringa_stddev 20.4 ns 22.5 ns 4
|
|
Subst stringa and hex number by e_subst literal to simstr::stringa_cv 11.47 % 12.65 % 4
|
|
Subst stringa and hex number by e_vsubst stra to simstr::stringa_mean 352 ns 353 ns 4
|
|
Subst stringa and hex number by e_vsubst stra to simstr::stringa_median 351 ns 355 ns 4
|
|
Subst stringa and hex number by e_vsubst stra to simstr::stringa_stddev 5.72 ns 7.01 ns 4
|
|
Subst stringa and hex number by e_vsubst stra to simstr::stringa_cv 1.63 % 1.98 % 4
|
|
---- format/vformat and subst/vsubst octal number to 32 symbols result ----/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_mean 667 ns 663 ns 4
|
|
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_median 666 ns 656 ns 4
|
|
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_stddev 6.63 ns 14.0 ns 4
|
|
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_cv 0.99 % 2.11 % 4
|
|
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_mean 764 ns 763 ns 4
|
|
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_median 759 ns 759 ns 4
|
|
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_stddev 11.1 ns 16.7 ns 4
|
|
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_cv 1.45 % 2.19 % 4
|
|
e_vsubst(pattern, i / 0x8a010_fmt)_mean 1073 ns 1068 ns 4
|
|
e_vsubst(pattern, i / 0x8a010_fmt)_median 1067 ns 1074 ns 4
|
|
e_vsubst(pattern, i / 0x8a010_fmt)_stddev 23.7 ns 12.2 ns 4
|
|
e_vsubst(pattern, i / 0x8a010_fmt)_cv 2.21 % 1.14 % 4
|
|
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_mean 1539 ns 1535 ns 4
|
|
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_median 1534 ns 1517 ns 4
|
|
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_stddev 37.5 ns 49.3 ns 4
|
|
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_cv 2.43 % 3.21 % 4
|
|
fmt::format("abcdefghihklmopqr {:#010o} end", i)_mean 1393 ns 1395 ns 4
|
|
fmt::format("abcdefghihklmopqr {:#010o} end", i)_median 1391 ns 1395 ns 4
|
|
fmt::format("abcdefghihklmopqr {:#010o} end", i)_stddev 23.7 ns 0.000 ns 4
|
|
fmt::format("abcdefghihklmopqr {:#010o} end", i)_cv 1.70 % 0.00 % 4
|
|
std::format("abcdefghihklmopqr {:#010o} end", i)_mean 1908 ns 1904 ns 4
|
|
std::format("abcdefghihklmopqr {:#010o} end", i)_median 1878 ns 1862 ns 4
|
|
std::format("abcdefghihklmopqr {:#010o} end", i)_stddev 105 ns 130 ns 4
|
|
std::format("abcdefghihklmopqr {:#010o} end", i)_cv 5.52 % 6.83 % 4
|
|
std::vformat(pattern, std::make_format_args(i))_mean 1886 ns 1883 ns 4
|
|
std::vformat(pattern, std::make_format_args(i))_median 1891 ns 1883 ns 4
|
|
std::vformat(pattern, std::make_format_args(i))_stddev 23.9 ns 34.2 ns 4
|
|
std::vformat(pattern, std::make_format_args(i))_cv 1.27 % 1.81 % 4
|
|
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_mean 7102 ns 7115 ns 4
|
|
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_median 7026 ns 7045 ns 4
|
|
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_stddev 255 ns 197 ns 4
|
|
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_cv 3.59 % 2.77 % 4
|
|
----- Concatenate string + "Literal" ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Concat std::string by std to std::string_mean 57.5 ns 57.5 ns 4
|
|
Concat std::string by std to std::string_median 57.3 ns 57.2 ns 4
|
|
Concat std::string by std to std::string_stddev 0.552 ns 0.698 ns 4
|
|
Concat std::string by std to std::string_cv 0.96 % 1.21 % 4
|
|
Concat std::string by StrExpr to std::string_mean 78.6 ns 78.9 ns 4
|
|
Concat std::string by StrExpr to std::string_median 78.0 ns 78.5 ns 4
|
|
Concat std::string by StrExpr to std::string_stddev 1.26 ns 0.872 ns 4
|
|
Concat std::string by StrExpr to std::string_cv 1.60 % 1.10 % 4
|
|
Concat stringa by StrExpr to stringa_mean 52.2 ns 52.3 ns 4
|
|
Concat stringa by StrExpr to stringa_median 51.1 ns 51.6 ns 4
|
|
Concat stringa by StrExpr to stringa_stddev 2.63 ns 2.71 ns 4
|
|
Concat stringa by StrExpr to stringa_cv 5.03 % 5.17 % 4
|
|
----- Find three concatenated string in string_view -----/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Find concat three std::string_mean 221 ns 221 ns 4
|
|
Find concat three std::string_median 219 ns 218 ns 4
|
|
Find concat three std::string_stddev 7.18 ns 6.80 ns 4
|
|
Find concat three std::string_cv 3.26 % 3.08 % 4
|
|
Find concat three strexpr_mean 125 ns 125 ns 4
|
|
Find concat three strexpr_median 124 ns 124 ns 4
|
|
Find concat three strexpr_stddev 4.72 ns 5.36 ns 4
|
|
Find concat three strexpr_cv 3.78 % 4.30 % 4
|
|
Find concat three simstr_mean 27.7 ns 27.9 ns 4
|
|
Find concat three simstr_median 27.7 ns 27.9 ns 4
|
|
Find concat three simstr_stddev 0.172 ns 0.484 ns 4
|
|
Find concat three simstr_cv 0.62 % 1.74 % 4
|
|
----- Build Type Name ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
BuildTypeNameStr 0/0_mean 17.5 ns 17.5 ns 4
|
|
BuildTypeNameStr 0/0_median 17.5 ns 17.5 ns 4
|
|
BuildTypeNameStr 0/0_stddev 0.251 ns 0.222 ns 4
|
|
BuildTypeNameStr 0/0_cv 1.43 % 1.27 % 4
|
|
BuildTypeNameExp 0/0_mean 12.6 ns 12.6 ns 4
|
|
BuildTypeNameExp 0/0_median 12.5 ns 12.6 ns 4
|
|
BuildTypeNameExp 0/0_stddev 0.282 ns 0.471 ns 4
|
|
BuildTypeNameExp 0/0_cv 2.23 % 3.73 % 4
|
|
BuildTypeNameSim 0/0_mean 15.5 ns 15.5 ns 4
|
|
BuildTypeNameSim 0/0_median 15.2 ns 15.2 ns 4
|
|
BuildTypeNameSim 0/0_stddev 0.832 ns 0.830 ns 4
|
|
BuildTypeNameSim 0/0_cv 5.35 % 5.35 % 4
|
|
BuildTypeNameStr 10/10_mean 81.5 ns 81.5 ns 4
|
|
BuildTypeNameStr 10/10_median 81.9 ns 82.0 ns 4
|
|
BuildTypeNameStr 10/10_stddev 1.53 ns 2.19 ns 4
|
|
BuildTypeNameStr 10/10_cv 1.88 % 2.69 % 4
|
|
BuildTypeNameExp 10/10_mean 38.1 ns 38.1 ns 4
|
|
BuildTypeNameExp 10/10_median 38.1 ns 38.1 ns 4
|
|
BuildTypeNameExp 10/10_stddev 0.526 ns 1.08 ns 4
|
|
BuildTypeNameExp 10/10_cv 1.38 % 2.84 % 4
|
|
BuildTypeNameSim 10/10_mean 36.3 ns 36.2 ns 4
|
|
BuildTypeNameSim 10/10_median 36.2 ns 36.4 ns 4
|
|
BuildTypeNameSim 10/10_stddev 0.690 ns 0.801 ns 4
|
|
BuildTypeNameSim 10/10_cv 1.90 % 2.21 % 4
|
|
----- Replace string by copy -----/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Concat with replace str_mean 340 ns 341 ns 4
|
|
Concat with replace str_median 340 ns 341 ns 4
|
|
Concat with replace str_stddev 7.01 ns 4.23 ns 4
|
|
Concat with replace str_cv 2.06 % 1.24 % 4
|
|
Concat with replace exp_mean 216 ns 216 ns 4
|
|
Concat with replace exp_median 218 ns 217 ns 4
|
|
Concat with replace exp_stddev 4.87 ns 5.01 ns 4
|
|
Concat with replace exp_cv 2.25 % 2.32 % 4
|
|
----- Create Empty Str ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string e;_mean 2.83 ns 2.81 ns 4
|
|
std::string e;_median 2.81 ns 2.79 ns 4
|
|
std::string e;_stddev 0.041 ns 0.060 ns 4
|
|
std::string e;_cv 1.44 % 2.14 % 4
|
|
std::string_view e;_mean 1.77 ns 1.77 ns 4
|
|
std::string_view e;_median 1.77 ns 1.76 ns 4
|
|
std::string_view e;_stddev 0.009 ns 0.019 ns 4
|
|
std::string_view e;_cv 0.49 % 1.08 % 4
|
|
ssa e;_mean 1.42 ns 1.42 ns 4
|
|
ssa e;_median 1.41 ns 1.41 ns 4
|
|
ssa e;_stddev 0.021 ns 0.016 ns 4
|
|
ssa e;_cv 1.48 % 1.10 % 4
|
|
stringa e;_mean 2.18 ns 2.16 ns 4
|
|
stringa e;_median 2.15 ns 2.12 ns 4
|
|
stringa e;_stddev 0.078 ns 0.099 ns 4
|
|
stringa e;_cv 3.60 % 4.59 % 4
|
|
lstringa<20> e;_mean 2.47 ns 2.47 ns 4
|
|
lstringa<20> e;_median 2.46 ns 2.46 ns 4
|
|
lstringa<20> e;_stddev 0.024 ns 0.028 ns 4
|
|
lstringa<20> e;_cv 0.98 % 1.13 % 4
|
|
lstringa<40> e;_mean 2.43 ns 2.43 ns 4
|
|
lstringa<40> e;_median 2.44 ns 2.43 ns 4
|
|
lstringa<40> e;_stddev 0.007 ns 0.032 ns 4
|
|
lstringa<40> e;_cv 0.27 % 1.33 % 4
|
|
----- Create Str from short literal (9 symbols) --------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string e = "Test text";_mean 2.48 ns 2.48 ns 4
|
|
std::string e = "Test text";_median 2.48 ns 2.46 ns 4
|
|
std::string e = "Test text";_stddev 0.040 ns 0.057 ns 4
|
|
std::string e = "Test text";_cv 1.62 % 2.29 % 4
|
|
std::string_view e = "Test text";_mean 1.77 ns 1.76 ns 4
|
|
std::string_view e = "Test text";_median 1.77 ns 1.76 ns 4
|
|
std::string_view e = "Test text";_stddev 0.019 ns 0.034 ns 4
|
|
std::string_view e = "Test text";_cv 1.08 % 1.94 % 4
|
|
ssa e = "Test text";_mean 1.76 ns 1.76 ns 4
|
|
ssa e = "Test text";_median 1.75 ns 1.75 ns 4
|
|
ssa e = "Test text";_stddev 0.027 ns 0.037 ns 4
|
|
ssa e = "Test text";_cv 1.52 % 2.09 % 4
|
|
stringa e = "Test text";_mean 2.75 ns 2.76 ns 4
|
|
stringa e = "Test text";_median 2.74 ns 2.76 ns 4
|
|
stringa e = "Test text";_stddev 0.024 ns 0.034 ns 4
|
|
stringa e = "Test text";_cv 0.89 % 1.24 % 4
|
|
lstringa<20> e = "Test text";_mean 2.51 ns 2.50 ns 4
|
|
lstringa<20> e = "Test text";_median 2.51 ns 2.48 ns 4
|
|
lstringa<20> e = "Test text";_stddev 0.066 ns 0.053 ns 4
|
|
lstringa<20> e = "Test text";_cv 2.62 % 2.14 % 4
|
|
lstringa<40> e = "Test text";_mean 2.47 ns 2.46 ns 4
|
|
lstringa<40> e = "Test text";_median 2.44 ns 2.46 ns 4
|
|
lstringa<40> e = "Test text";_stddev 0.065 ns 0.046 ns 4
|
|
lstringa<40> e = "Test text";_cv 2.63 % 1.86 % 4
|
|
----- Create Str from long literal (30 symbols) ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string e = "123456789012345678901234567890";_mean 74.8 ns 74.6 ns 4
|
|
std::string e = "123456789012345678901234567890";_median 74.6 ns 74.1 ns 4
|
|
std::string e = "123456789012345678901234567890";_stddev 1.46 ns 1.67 ns 4
|
|
std::string e = "123456789012345678901234567890";_cv 1.95 % 2.24 % 4
|
|
std::string_view e = "123456789012345678901234567890";_mean 1.77 ns 1.76 ns 4
|
|
std::string_view e = "123456789012345678901234567890";_median 1.77 ns 1.76 ns 4
|
|
std::string_view e = "123456789012345678901234567890";_stddev 0.013 ns 0.000 ns 4
|
|
std::string_view e = "123456789012345678901234567890";_cv 0.76 % 0.00 % 4
|
|
ssa e = "123456789012345678901234567890";_mean 1.81 ns 1.79 ns 4
|
|
ssa e = "123456789012345678901234567890";_median 1.80 ns 1.78 ns 4
|
|
ssa e = "123456789012345678901234567890";_stddev 0.050 ns 0.066 ns 4
|
|
ssa e = "123456789012345678901234567890";_cv 2.76 % 3.65 % 4
|
|
stringa e = "123456789012345678901234567890";_mean 2.47 ns 2.47 ns 4
|
|
stringa e = "123456789012345678901234567890";_median 2.47 ns 2.49 ns 4
|
|
stringa e = "123456789012345678901234567890";_stddev 0.028 ns 0.050 ns 4
|
|
stringa e = "123456789012345678901234567890";_cv 1.12 % 2.03 % 4
|
|
lstringa<20> e = "123456789012345678901234567890";_mean 74.3 ns 74.3 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890";_median 72.6 ns 72.5 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890";_stddev 4.77 ns 4.61 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890";_cv 6.41 % 6.20 % 4
|
|
lstringa<40> e = "123456789012345678901234567890";_mean 3.17 ns 3.16 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890";_median 3.17 ns 3.14 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890";_stddev 0.019 ns 0.035 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890";_cv 0.61 % 1.10 % 4
|
|
----- Create copy of Str with 9 symbols ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string e = "Test text"; auto c{e};_mean 5.84 ns 5.82 ns 4
|
|
std::string e = "Test text"; auto c{e};_median 5.84 ns 5.86 ns 4
|
|
std::string e = "Test text"; auto c{e};_stddev 0.076 ns 0.070 ns 4
|
|
std::string e = "Test text"; auto c{e};_cv 1.30 % 1.20 % 4
|
|
std::string_view e = "Test text"; auto c{e};_mean 3.38 ns 3.39 ns 4
|
|
std::string_view e = "Test text"; auto c{e};_median 3.38 ns 3.37 ns 4
|
|
std::string_view e = "Test text"; auto c{e};_stddev 0.004 ns 0.037 ns 4
|
|
std::string_view e = "Test text"; auto c{e};_cv 0.13 % 1.08 % 4
|
|
ssa e = "Test text"; auto c{e};_mean 3.54 ns 3.55 ns 4
|
|
ssa e = "Test text"; auto c{e};_median 3.55 ns 3.55 ns 4
|
|
ssa e = "Test text"; auto c{e};_stddev 0.106 ns 0.095 ns 4
|
|
ssa e = "Test text"; auto c{e};_cv 3.00 % 2.66 % 4
|
|
stringa e = "Test text"; auto c{e};_mean 3.85 ns 3.86 ns 4
|
|
stringa e = "Test text"; auto c{e};_median 3.83 ns 3.84 ns 4
|
|
stringa e = "Test text"; auto c{e};_stddev 0.042 ns 0.044 ns 4
|
|
stringa e = "Test text"; auto c{e};_cv 1.09 % 1.13 % 4
|
|
lstringa<20> e = "Test text"; auto c{e};_mean 4.29 ns 4.28 ns 4
|
|
lstringa<20> e = "Test text"; auto c{e};_median 4.26 ns 4.24 ns 4
|
|
lstringa<20> e = "Test text"; auto c{e};_stddev 0.086 ns 0.094 ns 4
|
|
lstringa<20> e = "Test text"; auto c{e};_cv 2.00 % 2.20 % 4
|
|
lstringa<40> e = "Test text"; auto c{e};_mean 4.27 ns 4.26 ns 4
|
|
lstringa<40> e = "Test text"; auto c{e};_median 4.23 ns 4.19 ns 4
|
|
lstringa<40> e = "Test text"; auto c{e};_stddev 0.113 ns 0.157 ns 4
|
|
lstringa<40> e = "Test text"; auto c{e};_cv 2.64 % 3.68 % 4
|
|
----- Create copy of Str with 30 symbols ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string e = "123456789012345678901234567890"; auto c{e};_mean 74.8 ns 75.0 ns 4
|
|
std::string e = "123456789012345678901234567890"; auto c{e};_median 74.6 ns 75.0 ns 4
|
|
std::string e = "123456789012345678901234567890"; auto c{e};_stddev 1.39 ns 1.42 ns 4
|
|
std::string e = "123456789012345678901234567890"; auto c{e};_cv 1.86 % 1.90 % 4
|
|
std::string_view e = "123456789012345678901234567890"; auto c{e};_mean 1.75 ns 1.76 ns 4
|
|
std::string_view e = "123456789012345678901234567890"; auto c{e};_median 1.75 ns 1.76 ns 4
|
|
std::string_view e = "123456789012345678901234567890"; auto c{e};_stddev 0.018 ns 0.019 ns 4
|
|
std::string_view e = "123456789012345678901234567890"; auto c{e};_cv 1.04 % 1.09 % 4
|
|
ssa e = "123456789012345678901234567890"; auto c{e};_mean 1.75 ns 1.76 ns 4
|
|
ssa e = "123456789012345678901234567890"; auto c{e};_median 1.75 ns 1.76 ns 4
|
|
ssa e = "123456789012345678901234567890"; auto c{e};_stddev 0.024 ns 0.019 ns 4
|
|
ssa e = "123456789012345678901234567890"; auto c{e};_cv 1.38 % 1.09 % 4
|
|
stringa e = "123456789012345678901234567890"; auto c{e};_mean 2.86 ns 2.84 ns 4
|
|
stringa e = "123456789012345678901234567890"; auto c{e};_median 2.85 ns 2.83 ns 4
|
|
stringa e = "123456789012345678901234567890"; auto c{e};_stddev 0.038 ns 0.079 ns 4
|
|
stringa e = "123456789012345678901234567890"; auto c{e};_cv 1.32 % 2.78 % 4
|
|
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_mean 76.6 ns 76.3 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_median 76.3 ns 75.9 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_stddev 1.44 ns 1.67 ns 4
|
|
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_cv 1.88 % 2.19 % 4
|
|
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_mean 7.55 ns 7.57 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_median 7.57 ns 7.53 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_stddev 0.349 ns 0.367 ns 4
|
|
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_cv 4.62 % 4.85 % 4
|
|
----- Find 9 symbols text in end of 99 symbols text ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string::find;_mean 40.5 ns 40.5 ns 4
|
|
std::string::find;_median 40.5 ns 40.5 ns 4
|
|
std::string::find;_stddev 0.295 ns 0.503 ns 4
|
|
std::string::find;_cv 0.73 % 1.24 % 4
|
|
std::string_view::find;_mean 39.6 ns 39.8 ns 4
|
|
std::string_view::find;_median 39.6 ns 39.8 ns 4
|
|
std::string_view::find;_stddev 0.253 ns 0.483 ns 4
|
|
std::string_view::find;_cv 0.64 % 1.22 % 4
|
|
ssa::find;_mean 20.0 ns 20.1 ns 4
|
|
ssa::find;_median 20.0 ns 19.9 ns 4
|
|
ssa::find;_stddev 0.176 ns 0.227 ns 4
|
|
ssa::find;_cv 0.88 % 1.13 % 4
|
|
stringa::find;_mean 30.3 ns 30.2 ns 4
|
|
stringa::find;_median 30.5 ns 30.3 ns 4
|
|
stringa::find;_stddev 0.796 ns 0.668 ns 4
|
|
stringa::find;_cv 2.63 % 2.21 % 4
|
|
lstringa<20>::find;_mean 20.3 ns 20.1 ns 4
|
|
lstringa<20>::find;_median 20.2 ns 19.9 ns 4
|
|
lstringa<20>::find;_stddev 0.189 ns 0.227 ns 4
|
|
lstringa<20>::find;_cv 0.93 % 1.13 % 4
|
|
lstringa<40>::find;_mean 21.5 ns 21.4 ns 4
|
|
lstringa<40>::find;_median 21.5 ns 21.5 ns 4
|
|
lstringa<40>::find;_stddev 0.237 ns 0.244 ns 4
|
|
lstringa<40>::find;_cv 1.10 % 1.14 % 4
|
|
------- Copy not literal Str with N symbols ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string copy{str_with_len_N};/15_mean 4.31 ns 4.33 ns 4
|
|
std::string copy{str_with_len_N};/15_median 4.32 ns 4.33 ns 4
|
|
std::string copy{str_with_len_N};/15_stddev 0.092 ns 0.077 ns 4
|
|
std::string copy{str_with_len_N};/15_cv 2.14 % 1.77 % 4
|
|
std::string copy{str_with_len_N};/16_mean 80.8 ns 79.5 ns 4
|
|
std::string copy{str_with_len_N};/16_median 79.8 ns 79.5 ns 4
|
|
std::string copy{str_with_len_N};/16_stddev 2.60 ns 1.71 ns 4
|
|
std::string copy{str_with_len_N};/16_cv 3.22 % 2.15 % 4
|
|
std::string copy{str_with_len_N};/23_mean 81.4 ns 80.7 ns 4
|
|
std::string copy{str_with_len_N};/23_median 81.5 ns 81.1 ns 4
|
|
std::string copy{str_with_len_N};/23_stddev 0.373 ns 1.67 ns 4
|
|
std::string copy{str_with_len_N};/23_cv 0.46 % 2.07 % 4
|
|
std::string copy{str_with_len_N};/24_mean 79.9 ns 78.9 ns 4
|
|
std::string copy{str_with_len_N};/24_median 79.8 ns 78.5 ns 4
|
|
std::string copy{str_with_len_N};/24_stddev 0.901 ns 0.872 ns 4
|
|
std::string copy{str_with_len_N};/24_cv 1.13 % 1.10 % 4
|
|
std::string copy{str_with_len_N};/32_mean 82.3 ns 82.4 ns 4
|
|
std::string copy{str_with_len_N};/32_median 82.2 ns 82.0 ns 4
|
|
std::string copy{str_with_len_N};/32_stddev 1.35 ns 0.872 ns 4
|
|
std::string copy{str_with_len_N};/32_cv 1.64 % 1.06 % 4
|
|
std::string copy{str_with_len_N};/64_mean 81.7 ns 81.6 ns 4
|
|
std::string copy{str_with_len_N};/64_median 81.7 ns 81.6 ns 4
|
|
std::string copy{str_with_len_N};/64_stddev 0.342 ns 0.000 ns 4
|
|
std::string copy{str_with_len_N};/64_cv 0.42 % 0.00 % 4
|
|
std::string copy{str_with_len_N};/128_mean 87.0 ns 86.8 ns 4
|
|
std::string copy{str_with_len_N};/128_median 86.8 ns 86.8 ns 4
|
|
std::string copy{str_with_len_N};/128_stddev 2.27 ns 2.70 ns 4
|
|
std::string copy{str_with_len_N};/128_cv 2.61 % 3.11 % 4
|
|
std::string copy{str_with_len_N};/256_mean 89.6 ns 89.5 ns 4
|
|
std::string copy{str_with_len_N};/256_median 87.1 ns 87.9 ns 4
|
|
std::string copy{str_with_len_N};/256_stddev 5.16 ns 4.64 ns 4
|
|
std::string copy{str_with_len_N};/256_cv 5.76 % 5.19 % 4
|
|
std::string copy{str_with_len_N};/512_mean 88.6 ns 88.5 ns 4
|
|
std::string copy{str_with_len_N};/512_median 88.6 ns 88.9 ns 4
|
|
std::string copy{str_with_len_N};/512_stddev 0.346 ns 0.872 ns 4
|
|
std::string copy{str_with_len_N};/512_cv 0.39 % 0.99 % 4
|
|
std::string copy{str_with_len_N};/1024_mean 95.4 ns 95.2 ns 4
|
|
std::string copy{str_with_len_N};/1024_median 95.9 ns 95.2 ns 4
|
|
std::string copy{str_with_len_N};/1024_stddev 1.55 ns 1.99 ns 4
|
|
std::string copy{str_with_len_N};/1024_cv 1.63 % 2.09 % 4
|
|
std::string copy{str_with_len_N};/2048_mean 127 ns 128 ns 4
|
|
std::string copy{str_with_len_N};/2048_median 126 ns 127 ns 4
|
|
std::string copy{str_with_len_N};/2048_stddev 5.54 ns 5.75 ns 4
|
|
std::string copy{str_with_len_N};/2048_cv 4.35 % 4.51 % 4
|
|
std::string copy{str_with_len_N};/4096_mean 203 ns 203 ns 4
|
|
std::string copy{str_with_len_N};/4096_median 202 ns 201 ns 4
|
|
std::string copy{str_with_len_N};/4096_stddev 27.2 ns 26.8 ns 4
|
|
std::string copy{str_with_len_N};/4096_cv 13.42 % 13.20 % 4
|
|
stringa copy{str_with_len_N};/15_mean 4.65 ns 4.64 ns 4
|
|
stringa copy{str_with_len_N};/15_median 4.69 ns 4.66 ns 4
|
|
stringa copy{str_with_len_N};/15_stddev 0.129 ns 0.161 ns 4
|
|
stringa copy{str_with_len_N};/15_cv 2.78 % 3.47 % 4
|
|
stringa copy{str_with_len_N};/16_mean 4.71 ns 4.70 ns 4
|
|
stringa copy{str_with_len_N};/16_median 4.61 ns 4.60 ns 4
|
|
stringa copy{str_with_len_N};/16_stddev 0.247 ns 0.257 ns 4
|
|
stringa copy{str_with_len_N};/16_cv 5.24 % 5.47 % 4
|
|
stringa copy{str_with_len_N};/23_mean 4.88 ns 4.88 ns 4
|
|
stringa copy{str_with_len_N};/23_median 4.89 ns 4.85 ns 4
|
|
stringa copy{str_with_len_N};/23_stddev 0.173 ns 0.152 ns 4
|
|
stringa copy{str_with_len_N};/23_cv 3.55 % 3.11 % 4
|
|
stringa copy{str_with_len_N};/24_mean 19.2 ns 19.3 ns 4
|
|
stringa copy{str_with_len_N};/24_median 19.3 ns 19.3 ns 4
|
|
stringa copy{str_with_len_N};/24_stddev 0.142 ns 0.342 ns 4
|
|
stringa copy{str_with_len_N};/24_cv 0.74 % 1.77 % 4
|
|
stringa copy{str_with_len_N};/32_mean 19.5 ns 19.6 ns 4
|
|
stringa copy{str_with_len_N};/32_median 19.5 ns 19.7 ns 4
|
|
stringa copy{str_with_len_N};/32_stddev 0.084 ns 0.209 ns 4
|
|
stringa copy{str_with_len_N};/32_cv 0.43 % 1.07 % 4
|
|
stringa copy{str_with_len_N};/64_mean 19.1 ns 19.1 ns 4
|
|
stringa copy{str_with_len_N};/64_median 19.2 ns 19.0 ns 4
|
|
stringa copy{str_with_len_N};/64_stddev 0.536 ns 0.401 ns 4
|
|
stringa copy{str_with_len_N};/64_cv 2.80 % 2.09 % 4
|
|
stringa copy{str_with_len_N};/128_mean 19.2 ns 19.1 ns 4
|
|
stringa copy{str_with_len_N};/128_median 19.3 ns 19.3 ns 4
|
|
stringa copy{str_with_len_N};/128_stddev 0.594 ns 0.628 ns 4
|
|
stringa copy{str_with_len_N};/128_cv 3.10 % 3.28 % 4
|
|
stringa copy{str_with_len_N};/256_mean 19.2 ns 19.1 ns 4
|
|
stringa copy{str_with_len_N};/256_median 19.2 ns 19.0 ns 4
|
|
stringa copy{str_with_len_N};/256_stddev 0.238 ns 0.401 ns 4
|
|
stringa copy{str_with_len_N};/256_cv 1.24 % 2.09 % 4
|
|
stringa copy{str_with_len_N};/512_mean 19.0 ns 18.9 ns 4
|
|
stringa copy{str_with_len_N};/512_median 18.9 ns 18.8 ns 4
|
|
stringa copy{str_with_len_N};/512_stddev 0.138 ns 0.434 ns 4
|
|
stringa copy{str_with_len_N};/512_cv 0.73 % 2.29 % 4
|
|
stringa copy{str_with_len_N};/1024_mean 19.5 ns 19.5 ns 4
|
|
stringa copy{str_with_len_N};/1024_median 19.0 ns 19.0 ns 4
|
|
stringa copy{str_with_len_N};/1024_stddev 1.14 ns 0.907 ns 4
|
|
stringa copy{str_with_len_N};/1024_cv 5.85 % 4.65 % 4
|
|
stringa copy{str_with_len_N};/2048_mean 19.0 ns 19.0 ns 4
|
|
stringa copy{str_with_len_N};/2048_median 18.9 ns 18.8 ns 4
|
|
stringa copy{str_with_len_N};/2048_stddev 0.297 ns 0.419 ns 4
|
|
stringa copy{str_with_len_N};/2048_cv 1.56 % 2.20 % 4
|
|
stringa copy{str_with_len_N};/4096_mean 19.2 ns 19.2 ns 4
|
|
stringa copy{str_with_len_N};/4096_median 19.4 ns 19.3 ns 4
|
|
stringa copy{str_with_len_N};/4096_stddev 0.580 ns 0.434 ns 4
|
|
stringa copy{str_with_len_N};/4096_cv 3.02 % 2.27 % 4
|
|
lstringa<16> copy{str_with_len_N};/15_mean 5.28 ns 5.27 ns 4
|
|
lstringa<16> copy{str_with_len_N};/15_median 5.26 ns 5.23 ns 4
|
|
lstringa<16> copy{str_with_len_N};/15_stddev 0.063 ns 0.134 ns 4
|
|
lstringa<16> copy{str_with_len_N};/15_cv 1.19 % 2.54 % 4
|
|
lstringa<16> copy{str_with_len_N};/16_mean 9.18 ns 9.16 ns 4
|
|
lstringa<16> copy{str_with_len_N};/16_median 9.12 ns 9.10 ns 4
|
|
lstringa<16> copy{str_with_len_N};/16_stddev 0.500 ns 0.431 ns 4
|
|
lstringa<16> copy{str_with_len_N};/16_cv 5.44 % 4.71 % 4
|
|
lstringa<16> copy{str_with_len_N};/23_mean 9.32 ns 9.33 ns 4
|
|
lstringa<16> copy{str_with_len_N};/23_median 9.54 ns 9.50 ns 4
|
|
lstringa<16> copy{str_with_len_N};/23_stddev 0.562 ns 0.542 ns 4
|
|
lstringa<16> copy{str_with_len_N};/23_cv 6.03 % 5.81 % 4
|
|
lstringa<16> copy{str_with_len_N};/24_mean 91.6 ns 91.1 ns 4
|
|
lstringa<16> copy{str_with_len_N};/24_median 92.0 ns 90.7 ns 4
|
|
lstringa<16> copy{str_with_len_N};/24_stddev 5.42 ns 5.21 ns 4
|
|
lstringa<16> copy{str_with_len_N};/24_cv 5.92 % 5.71 % 4
|
|
lstringa<16> copy{str_with_len_N};/32_mean 87.3 ns 87.2 ns 4
|
|
lstringa<16> copy{str_with_len_N};/32_median 87.2 ns 87.2 ns 4
|
|
lstringa<16> copy{str_with_len_N};/32_stddev 1.21 ns 1.42 ns 4
|
|
lstringa<16> copy{str_with_len_N};/32_cv 1.38 % 1.63 % 4
|
|
lstringa<16> copy{str_with_len_N};/64_mean 91.8 ns 90.3 ns 4
|
|
lstringa<16> copy{str_with_len_N};/64_median 91.3 ns 89.1 ns 4
|
|
lstringa<16> copy{str_with_len_N};/64_stddev 11.5 ns 13.1 ns 4
|
|
lstringa<16> copy{str_with_len_N};/64_cv 12.54 % 14.47 % 4
|
|
lstringa<16> copy{str_with_len_N};/128_mean 91.5 ns 91.6 ns 4
|
|
lstringa<16> copy{str_with_len_N};/128_median 92.1 ns 92.1 ns 4
|
|
lstringa<16> copy{str_with_len_N};/128_stddev 4.18 ns 4.64 ns 4
|
|
lstringa<16> copy{str_with_len_N};/128_cv 4.57 % 5.07 % 4
|
|
lstringa<16> copy{str_with_len_N};/256_mean 104 ns 104 ns 4
|
|
lstringa<16> copy{str_with_len_N};/256_median 105 ns 105 ns 4
|
|
lstringa<16> copy{str_with_len_N};/256_stddev 7.76 ns 7.74 ns 4
|
|
lstringa<16> copy{str_with_len_N};/256_cv 7.46 % 7.47 % 4
|
|
lstringa<16> copy{str_with_len_N};/512_mean 94.0 ns 93.1 ns 4
|
|
lstringa<16> copy{str_with_len_N};/512_median 91.6 ns 90.0 ns 4
|
|
lstringa<16> copy{str_with_len_N};/512_stddev 6.95 ns 7.74 ns 4
|
|
lstringa<16> copy{str_with_len_N};/512_cv 7.40 % 8.31 % 4
|
|
lstringa<16> copy{str_with_len_N};/1024_mean 105 ns 105 ns 4
|
|
lstringa<16> copy{str_with_len_N};/1024_median 107 ns 107 ns 4
|
|
lstringa<16> copy{str_with_len_N};/1024_stddev 5.74 ns 5.67 ns 4
|
|
lstringa<16> copy{str_with_len_N};/1024_cv 5.49 % 5.42 % 4
|
|
lstringa<16> copy{str_with_len_N};/2048_mean 142 ns 143 ns 4
|
|
lstringa<16> copy{str_with_len_N};/2048_median 142 ns 143 ns 4
|
|
lstringa<16> copy{str_with_len_N};/2048_stddev 7.41 ns 5.70 ns 4
|
|
lstringa<16> copy{str_with_len_N};/2048_cv 5.20 % 3.98 % 4
|
|
lstringa<16> copy{str_with_len_N};/4096_mean 203 ns 201 ns 4
|
|
lstringa<16> copy{str_with_len_N};/4096_median 199 ns 200 ns 4
|
|
lstringa<16> copy{str_with_len_N};/4096_stddev 15.3 ns 14.6 ns 4
|
|
lstringa<16> copy{str_with_len_N};/4096_cv 7.55 % 7.24 % 4
|
|
lstringa<512> copy{str_with_len_N};/15_mean 5.45 ns 5.44 ns 4
|
|
lstringa<512> copy{str_with_len_N};/15_median 5.47 ns 5.44 ns 4
|
|
lstringa<512> copy{str_with_len_N};/15_stddev 0.063 ns 0.114 ns 4
|
|
lstringa<512> copy{str_with_len_N};/15_cv 1.15 % 2.09 % 4
|
|
lstringa<512> copy{str_with_len_N};/16_mean 9.18 ns 9.16 ns 4
|
|
lstringa<512> copy{str_with_len_N};/16_median 9.25 ns 9.21 ns 4
|
|
lstringa<512> copy{str_with_len_N};/16_stddev 0.248 ns 0.263 ns 4
|
|
lstringa<512> copy{str_with_len_N};/16_cv 2.70 % 2.88 % 4
|
|
lstringa<512> copy{str_with_len_N};/23_mean 9.15 ns 9.16 ns 4
|
|
lstringa<512> copy{str_with_len_N};/23_median 9.05 ns 9.10 ns 4
|
|
lstringa<512> copy{str_with_len_N};/23_stddev 0.343 ns 0.357 ns 4
|
|
lstringa<512> copy{str_with_len_N};/23_cv 3.74 % 3.90 % 4
|
|
lstringa<512> copy{str_with_len_N};/24_mean 9.08 ns 9.11 ns 4
|
|
lstringa<512> copy{str_with_len_N};/24_median 8.95 ns 8.98 ns 4
|
|
lstringa<512> copy{str_with_len_N};/24_stddev 0.314 ns 0.330 ns 4
|
|
lstringa<512> copy{str_with_len_N};/24_cv 3.46 % 3.62 % 4
|
|
lstringa<512> copy{str_with_len_N};/32_mean 12.1 ns 12.1 ns 4
|
|
lstringa<512> copy{str_with_len_N};/32_median 12.2 ns 12.1 ns 4
|
|
lstringa<512> copy{str_with_len_N};/32_stddev 0.174 ns 0.161 ns 4
|
|
lstringa<512> copy{str_with_len_N};/32_cv 1.43 % 1.33 % 4
|
|
lstringa<512> copy{str_with_len_N};/64_mean 12.6 ns 12.6 ns 4
|
|
lstringa<512> copy{str_with_len_N};/64_median 12.4 ns 12.4 ns 4
|
|
lstringa<512> copy{str_with_len_N};/64_stddev 0.490 ns 0.528 ns 4
|
|
lstringa<512> copy{str_with_len_N};/64_cv 3.89 % 4.18 % 4
|
|
lstringa<512> copy{str_with_len_N};/128_mean 12.6 ns 12.6 ns 4
|
|
lstringa<512> copy{str_with_len_N};/128_median 12.6 ns 12.7 ns 4
|
|
lstringa<512> copy{str_with_len_N};/128_stddev 0.333 ns 0.267 ns 4
|
|
lstringa<512> copy{str_with_len_N};/128_cv 2.65 % 2.12 % 4
|
|
lstringa<512> copy{str_with_len_N};/256_mean 15.1 ns 15.1 ns 4
|
|
lstringa<512> copy{str_with_len_N};/256_median 15.0 ns 15.0 ns 4
|
|
lstringa<512> copy{str_with_len_N};/256_stddev 0.590 ns 0.773 ns 4
|
|
lstringa<512> copy{str_with_len_N};/256_cv 3.91 % 5.13 % 4
|
|
lstringa<512> copy{str_with_len_N};/512_mean 16.8 ns 16.5 ns 4
|
|
lstringa<512> copy{str_with_len_N};/512_median 16.9 ns 16.3 ns 4
|
|
lstringa<512> copy{str_with_len_N};/512_stddev 0.584 ns 0.801 ns 4
|
|
lstringa<512> copy{str_with_len_N};/512_cv 3.47 % 4.85 % 4
|
|
lstringa<512> copy{str_with_len_N};/1024_mean 116 ns 116 ns 4
|
|
lstringa<512> copy{str_with_len_N};/1024_median 116 ns 116 ns 4
|
|
lstringa<512> copy{str_with_len_N};/1024_stddev 7.76 ns 7.05 ns 4
|
|
lstringa<512> copy{str_with_len_N};/1024_cv 6.68 % 6.08 % 4
|
|
lstringa<512> copy{str_with_len_N};/2048_mean 166 ns 166 ns 4
|
|
lstringa<512> copy{str_with_len_N};/2048_median 170 ns 171 ns 4
|
|
lstringa<512> copy{str_with_len_N};/2048_stddev 14.5 ns 15.2 ns 4
|
|
lstringa<512> copy{str_with_len_N};/2048_cv 8.73 % 9.11 % 4
|
|
lstringa<512> copy{str_with_len_N};/4096_mean 224 ns 224 ns 4
|
|
lstringa<512> copy{str_with_len_N};/4096_median 223 ns 224 ns 4
|
|
lstringa<512> copy{str_with_len_N};/4096_stddev 24.8 ns 26.1 ns 4
|
|
lstringa<512> copy{str_with_len_N};/4096_cv 11.10 % 11.67 % 4
|
|
----- Convert to int '1234567' ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_mean 35.0 ns 35.1 ns 4
|
|
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_median 35.4 ns 35.5 ns 4
|
|
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_stddev 2.54 ns 2.59 ns 4
|
|
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_cv 7.25 % 7.39 % 4
|
|
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_mean 17.9 ns 17.8 ns 4
|
|
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_median 18.0 ns 17.8 ns 4
|
|
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_stddev 0.785 ns 0.805 ns 4
|
|
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_cv 4.38 % 4.53 % 4
|
|
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 17.8 ns 17.8 ns 4
|
|
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_median 17.8 ns 17.8 ns 4
|
|
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.448 ns 0.403 ns 4
|
|
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 2.52 % 2.26 % 4
|
|
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 17.8 ns 17.8 ns 4
|
|
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_median 17.9 ns 17.9 ns 4
|
|
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.843 ns 0.935 ns 4
|
|
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 4.74 % 5.25 % 4
|
|
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 17.0 ns 16.9 ns 4
|
|
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_median 17.1 ns 17.0 ns 4
|
|
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.753 ns 0.774 ns 4
|
|
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 4.44 % 4.58 % 4
|
|
----- Convert to unsigned 'abcDef' ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_mean 39.8 ns 39.9 ns 4
|
|
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_median 40.3 ns 40.4 ns 4
|
|
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_stddev 2.16 ns 1.96 ns 4
|
|
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_cv 5.42 % 4.91 % 4
|
|
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_mean 10.8 ns 10.9 ns 4
|
|
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_median 10.7 ns 10.9 ns 4
|
|
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_stddev 0.479 ns 0.456 ns 4
|
|
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_cv 4.41 % 4.19 % 4
|
|
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 15.1 ns 15.1 ns 4
|
|
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 15.1 ns 15.0 ns 4
|
|
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.233 ns 0.174 ns 4
|
|
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 1.54 % 1.16 % 4
|
|
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 14.1 ns 14.1 ns 4
|
|
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 14.2 ns 14.1 ns 4
|
|
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.436 ns 0.360 ns 4
|
|
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 3.10 % 2.56 % 4
|
|
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 15.6 ns 15.6 ns 4
|
|
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 15.7 ns 15.7 ns 4
|
|
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.638 ns 0.575 ns 4
|
|
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 4.09 % 3.68 % 4
|
|
----- Convert to int ' 1234567' ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_mean 52.4 ns 52.3 ns 4
|
|
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_median 52.4 ns 52.3 ns 4
|
|
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_stddev 0.663 ns 0.805 ns 4
|
|
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_cv 1.26 % 1.54 % 4
|
|
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_mean 24.7 ns 24.6 ns 4
|
|
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_median 24.7 ns 24.5 ns 4
|
|
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_stddev 0.881 ns 0.942 ns 4
|
|
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_cv 3.56 % 3.82 % 4
|
|
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_mean 19.2 ns 19.3 ns 4
|
|
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_median 19.1 ns 19.0 ns 4
|
|
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_stddev 0.366 ns 0.453 ns 4
|
|
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_cv 1.90 % 2.35 % 4
|
|
----- Convert to double '1234.567e10' ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_mean 125 ns 125 ns 4
|
|
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_median 124 ns 124 ns 4
|
|
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_stddev 6.52 ns 5.75 ns 4
|
|
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_cv 5.22 % 4.61 % 4
|
|
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_mean 100.0 ns 100 ns 4
|
|
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_median 103 ns 104 ns 4
|
|
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_stddev 9.57 ns 8.88 ns 4
|
|
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_cv 9.57 % 8.84 % 4
|
|
ssa s = "1234.567e10"; double res = *s.to_double()_mean 41.1 ns 41.0 ns 4
|
|
ssa s = "1234.567e10"; double res = *s.to_double()_median 40.7 ns 40.4 ns 4
|
|
ssa s = "1234.567e10"; double res = *s.to_double()_stddev 2.29 ns 2.38 ns 4
|
|
ssa s = "1234.567e10"; double res = *s.to_double()_cv 5.58 % 5.81 % 4
|
|
-- Append const literal of 16 bytes 64 times, 1024 total length --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::stringstream str; ... str << "abbaabbaabbaabba";_mean 6946 ns 6941 ns 4
|
|
std::stringstream str; ... str << "abbaabbaabbaabba";_median 6942 ns 6906 ns 4
|
|
std::stringstream str; ... str << "abbaabbaabbaabba";_stddev 379 ns 384 ns 4
|
|
std::stringstream str; ... str << "abbaabbaabbaabba";_cv 5.46 % 5.54 % 4
|
|
std::string str; ... str += "abbaabbaabbaabba";_mean 1625 ns 1621 ns 4
|
|
std::string str; ... str += "abbaabbaabbaabba";_median 1573 ns 1554 ns 4
|
|
std::string str; ... str += "abbaabbaabbaabba";_stddev 165 ns 175 ns 4
|
|
std::string str; ... str += "abbaabbaabbaabba";_cv 10.16 % 10.82 % 4
|
|
lstringa<8> str; ... str += "abbaabbaabbaabba";_mean 1160 ns 1161 ns 4
|
|
lstringa<8> str; ... str += "abbaabbaabbaabba";_median 1164 ns 1172 ns 4
|
|
lstringa<8> str; ... str += "abbaabbaabbaabba";_stddev 76.3 ns 77.4 ns 4
|
|
lstringa<8> str; ... str += "abbaabbaabbaabba";_cv 6.58 % 6.66 % 4
|
|
lstringa<128> str; ... str += "abbaabbaabbaabba";_mean 614 ns 614 ns 4
|
|
lstringa<128> str; ... str += "abbaabbaabbaabba";_median 619 ns 628 ns 4
|
|
lstringa<128> str; ... str += "abbaabbaabbaabba";_stddev 43.9 ns 49.7 ns 4
|
|
lstringa<128> str; ... str += "abbaabbaabbaabba";_cv 7.15 % 8.09 % 4
|
|
lstringa<512> str; ... str += "abbaabbaabbaabba";_mean 409 ns 408 ns 4
|
|
lstringa<512> str; ... str += "abbaabbaabbaabba";_median 412 ns 410 ns 4
|
|
lstringa<512> str; ... str += "abbaabbaabbaabba";_stddev 13.1 ns 11.0 ns 4
|
|
lstringa<512> str; ... str += "abbaabbaabbaabba";_cv 3.21 % 2.69 % 4
|
|
lstringa<1024> str; ... str += "abbaabbaabbaabba";_mean 265 ns 265 ns 4
|
|
lstringa<1024> str; ... str += "abbaabbaabbaabba";_median 268 ns 268 ns 4
|
|
lstringa<1024> str; ... str += "abbaabbaabbaabba";_stddev 13.6 ns 14.8 ns 4
|
|
lstringa<1024> str; ... str += "abbaabbaabbaabba";_cv 5.14 % 5.57 % 4
|
|
-- Append string of 16 bytes and const literal of 16 bytes 32 times, 1024 total length --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_mean 6738 ns 6766 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_median 6728 ns 6766 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_stddev 173 ns 180 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_cv 2.57 % 2.66 % 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba";_mean 4494 ns 4499 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba";_median 4522 ns 4551 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba";_stddev 282 ns 256 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba";_cv 6.27 % 5.70 % 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_mean 971 ns 970 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_median 965 ns 964 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_stddev 17.0 ns 23.4 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_cv 1.75 % 2.41 % 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_mean 647 ns 650 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_median 649 ns 654 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_stddev 43.4 ns 48.0 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_cv 6.71 % 7.39 % 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_mean 445 ns 444 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_median 445 ns 444 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_stddev 9.77 ns 14.8 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_cv 2.20 % 3.33 % 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_mean 306 ns 305 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_median 307 ns 307 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_stddev 14.9 ns 15.5 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_cv 4.87 % 5.07 % 4
|
|
-- Append string of 16 bytes and const literal of 16 bytes 2048 times, 65536 total length --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_mean 338927 ns 338798 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_median 335775 ns 336967 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_stddev 13902 ns 15102 ns 4
|
|
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_cv 4.10 % 4.46 % 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 237469 ns 235596 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 239998 ns 236816 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 29166 ns 25953 ns 4
|
|
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 12.28 % 11.02 % 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 30325 ns 30317 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 29665 ns 29820 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 2663 ns 2726 ns 4
|
|
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 8.78 % 8.99 % 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 28698 ns 28721 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 28945 ns 28878 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 2461 ns 2531 ns 4
|
|
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 8.58 % 8.81 % 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 27579 ns 27483 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 28253 ns 28181 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 2805 ns 2931 ns 4
|
|
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 10.17 % 10.66 % 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 26870 ns 26829 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 27050 ns 26977 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 1911 ns 1959 ns 4
|
|
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 7.11 % 7.30 % 4
|
|
-- Append 2 string of 16 bytes 32 times, 1024 total length --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::stringstream str; ... str << str_var1 << str_var2;_mean 6538 ns 6522 ns 4
|
|
std::stringstream str; ... str << str_var1 << str_var2;_median 6534 ns 6557 ns 4
|
|
std::stringstream str; ... str << str_var1 << str_var2;_stddev 110 ns 176 ns 4
|
|
std::stringstream str; ... str << str_var1 << str_var2;_cv 1.68 % 2.69 % 4
|
|
std::string str; ... str += str_var1 + str_var2;_mean 5100 ns 5117 ns 4
|
|
std::string str; ... str += str_var1 + str_var2;_median 5125 ns 5156 ns 4
|
|
std::string str; ... str += str_var1 + str_var2;_stddev 292 ns 322 ns 4
|
|
std::string str; ... str += str_var1 + str_var2;_cv 5.73 % 6.29 % 4
|
|
lstringa<16> str; ... str += str_var1 + str_var2;_mean 1064 ns 1068 ns 4
|
|
lstringa<16> str; ... str += str_var1 + str_var2;_median 1064 ns 1074 ns 4
|
|
lstringa<16> str; ... str += str_var1 + str_var2;_stddev 16.7 ns 30.7 ns 4
|
|
lstringa<16> str; ... str += str_var1 + str_var2;_cv 1.57 % 2.88 % 4
|
|
lstringa<128> str; ... str += str_var1 + str_var2;_mean 748 ns 748 ns 4
|
|
lstringa<128> str; ... str += str_var1 + str_var2;_median 762 ns 764 ns 4
|
|
lstringa<128> str; ... str += str_var1 + str_var2;_stddev 42.8 ns 39.6 ns 4
|
|
lstringa<128> str; ... str += str_var1 + str_var2;_cv 5.73 % 5.30 % 4
|
|
lstringa<512> str; ... str += str_var1 + str_var2;_mean 522 ns 523 ns 4
|
|
lstringa<512> str; ... str += str_var1 + str_var2;_median 527 ns 531 ns 4
|
|
lstringa<512> str; ... str += str_var1 + str_var2;_stddev 16.5 ns 15.6 ns 4
|
|
lstringa<512> str; ... str += str_var1 + str_var2;_cv 3.16 % 2.99 % 4
|
|
lstringa<1024> str; ... str += str_var1 + str_var2;_mean 389 ns 388 ns 4
|
|
lstringa<1024> str; ... str += str_var1 + str_var2;_median 389 ns 384 ns 4
|
|
lstringa<1024> str; ... str += str_var1 + str_var2;_stddev 5.31 ns 8.72 ns 4
|
|
lstringa<1024> str; ... str += str_var1 + str_var2;_cv 1.37 % 2.25 % 4
|
|
-- Append text, number, text --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::stringstream str; str << "test = " << k << " times";_mean 14863 ns 14858 ns 4
|
|
std::stringstream str; str << "test = " << k << " times";_median 14915 ns 14927 ns 4
|
|
std::stringstream str; str << "test = " << k << " times";_stddev 440 ns 477 ns 4
|
|
std::stringstream str; str << "test = " << k << " times";_cv 2.96 % 3.21 % 4
|
|
std::string str = "test = " + std::to_string(k) + " times";_mean 1420 ns 1423 ns 4
|
|
std::string str = "test = " + std::to_string(k) + " times";_median 1427 ns 1423 ns 4
|
|
std::string str = "test = " + std::to_string(k) + " times";_stddev 16.4 ns 22.8 ns 4
|
|
std::string str = "test = " + std::to_string(k) + " times";_cv 1.16 % 1.60 % 4
|
|
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_mean 3266 ns 3261 ns 4
|
|
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_median 3281 ns 3299 ns 4
|
|
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_stddev 112 ns 133 ns 4
|
|
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_cv 3.42 % 4.08 % 4
|
|
std::string str = std::format("test = {} times", k);_mean 2699 ns 2706 ns 4
|
|
std::string str = std::format("test = {} times", k);_median 2674 ns 2706 ns 4
|
|
std::string str = std::format("test = {} times", k);_stddev 81.1 ns 72.0 ns 4
|
|
std::string str = std::format("test = {} times", k);_cv 3.01 % 2.66 % 4
|
|
lstringa<8> str; str.format("test = {} times", k);_mean 2910 ns 2911 ns 4
|
|
lstringa<8> str; str.format("test = {} times", k);_median 2915 ns 2893 ns 4
|
|
lstringa<8> str; str.format("test = {} times", k);_stddev 113 ns 125 ns 4
|
|
lstringa<8> str; str.format("test = {} times", k);_cv 3.88 % 4.30 % 4
|
|
lstringa<32> str; str.format("test = {} times", k);_mean 1721 ns 1717 ns 4
|
|
lstringa<32> str; str.format("test = {} times", k);_median 1700 ns 1707 ns 4
|
|
lstringa<32> str; str.format("test = {} times", k);_stddev 73.3 ns 65.5 ns 4
|
|
lstringa<32> str; str.format("test = {} times", k);_cv 4.26 % 3.82 % 4
|
|
lstringa<8> str = "test = " + k + " times";_mean 1075 ns 1074 ns 4
|
|
lstringa<8> str = "test = " + k + " times";_median 1079 ns 1074 ns 4
|
|
lstringa<8> str = "test = " + k + " times";_stddev 32.7 ns 39.9 ns 4
|
|
lstringa<8> str = "test = " + k + " times";_cv 3.04 % 3.71 % 4
|
|
lstringa<32> str = "test = " + k + " times";_mean 208 ns 208 ns 4
|
|
lstringa<32> str = "test = " + k + " times";_median 209 ns 208 ns 4
|
|
lstringa<32> str = "test = " + k + " times";_stddev 12.5 ns 11.6 ns 4
|
|
lstringa<32> str = "test = " + k + " times";_cv 6.02 % 5.60 % 4
|
|
stringa str = "test = " + k + " times";_mean 263 ns 262 ns 4
|
|
stringa str = "test = " + k + " times";_median 264 ns 264 ns 4
|
|
stringa str = "test = " + k + " times";_stddev 4.92 ns 7.40 ns 4
|
|
stringa str = "test = " + k + " times";_cv 1.87 % 2.83 % 4
|
|
-- Split text and convert to int --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
std::string::find + substr + std::strtol_mean 618 ns 617 ns 4
|
|
std::string::find + substr + std::strtol_median 624 ns 628 ns 4
|
|
std::string::find + substr + std::strtol_stddev 30.1 ns 33.0 ns 4
|
|
std::string::find + substr + std::strtol_cv 4.87 % 5.34 % 4
|
|
ssa::splitter + ssa::as_int_mean 329 ns 328 ns 4
|
|
ssa::splitter + ssa::as_int_median 327 ns 326 ns 4
|
|
ssa::splitter + ssa::as_int_stddev 5.85 ns 7.35 ns 4
|
|
ssa::splitter + ssa::as_int_cv 1.78 % 2.24 % 4
|
|
ssa::splitf + functor_mean 241 ns 241 ns 4
|
|
ssa::splitf + functor_median 242 ns 243 ns 4
|
|
ssa::splitf + functor_stddev 8.52 ns 9.53 ns 4
|
|
ssa::splitf + functor_cv 3.53 % 3.95 % 4
|
|
-- Replace symbols in text ~400 symbols --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Naive (and wrong) replace symbols with std::string find + replace_mean 1431 ns 1437 ns 4
|
|
Naive (and wrong) replace symbols with std::string find + replace_median 1431 ns 1437 ns 4
|
|
Naive (and wrong) replace symbols with std::string find + replace_stddev 33.9 ns 48.3 ns 4
|
|
Naive (and wrong) replace symbols with std::string find + replace_cv 2.37 % 3.36 % 4
|
|
replace symbols with std::string find_first_of + replace_mean 2636 ns 2629 ns 4
|
|
replace symbols with std::string find_first_of + replace_median 2617 ns 2616 ns 4
|
|
replace symbols with std::string find_first_of + replace_stddev 165 ns 116 ns 4
|
|
replace symbols with std::string find_first_of + replace_cv 6.26 % 4.41 % 4
|
|
replace symbols with std::string_view find_first_of + copy_mean 2944 ns 2947 ns 4
|
|
replace symbols with std::string_view find_first_of + copy_median 2931 ns 2930 ns 4
|
|
replace symbols with std::string_view find_first_of + copy_stddev 67.1 ns 34.9 ns 4
|
|
replace symbols with std::string_view find_first_of + copy_cv 2.28 % 1.18 % 4
|
|
replace runtime symbols with string expressions and without remembering all search results_mean 1831 ns 1832 ns 4
|
|
replace runtime symbols with string expressions and without remembering all search results_median 1823 ns 1842 ns 4
|
|
replace runtime symbols with string expressions and without remembering all search results_stddev 77.1 ns 85.1 ns 4
|
|
replace runtime symbols with string expressions and without remembering all search results_cv 4.21 % 4.64 % 4
|
|
replace runtime symbols with simstr and memorization of all search results_mean 1620 ns 1621 ns 4
|
|
replace runtime symbols with simstr and memorization of all search results_median 1615 ns 1611 ns 4
|
|
replace runtime symbols with simstr and memorization of all search results_stddev 112 ns 127 ns 4
|
|
replace runtime symbols with simstr and memorization of all search results_cv 6.92 % 7.82 % 4
|
|
replace const symbols with string expressions and without remembering all search results_mean 1505 ns 1491 ns 4
|
|
replace const symbols with string expressions and without remembering all search results_median 1523 ns 1522 ns 4
|
|
replace const symbols with string expressions and without remembering all search results_stddev 54.6 ns 74.7 ns 4
|
|
replace const symbols with string expressions and without remembering all search results_cv 3.63 % 5.01 % 4
|
|
replace const symbols with string expressions and memorization of all search results_mean 1441 ns 1439 ns 4
|
|
replace const symbols with string expressions and memorization of all search results_median 1451 ns 1447 ns 4
|
|
replace const symbols with string expressions and memorization of all search results_stddev 147 ns 152 ns 4
|
|
replace const symbols with string expressions and memorization of all search results_cv 10.21 % 10.54 % 4
|
|
-- Replace symbols in text ~40 symbols --/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Short Naive (and wrong) replace symbols with std::string find + replace_mean 414 ns 413 ns 4
|
|
Short Naive (and wrong) replace symbols with std::string find + replace_median 420 ns 417 ns 4
|
|
Short Naive (and wrong) replace symbols with std::string find + replace_stddev 22.4 ns 24.0 ns 4
|
|
Short Naive (and wrong) replace symbols with std::string find + replace_cv 5.42 % 5.81 % 4
|
|
Short replace symbols with std::string find_first_of + replace_mean 504 ns 504 ns 4
|
|
Short replace symbols with std::string find_first_of + replace_median 505 ns 508 ns 4
|
|
Short replace symbols with std::string find_first_of + replace_stddev 35.6 ns 39.1 ns 4
|
|
Short replace symbols with std::string find_first_of + replace_cv 7.07 % 7.75 % 4
|
|
Short replace symbols with std::string_view find_first_of + copy_mean 436 ns 437 ns 4
|
|
Short replace symbols with std::string_view find_first_of + copy_median 437 ns 434 ns 4
|
|
Short replace symbols with std::string_view find_first_of + copy_stddev 23.1 ns 21.6 ns 4
|
|
Short replace symbols with std::string_view find_first_of + copy_cv 5.31 % 4.94 % 4
|
|
Short replace runtime symbols with string expressions and without remembering all search results_mean 364 ns 363 ns 4
|
|
Short replace runtime symbols with string expressions and without remembering all search results_median 365 ns 365 ns 4
|
|
Short replace runtime symbols with string expressions and without remembering all search results_stddev 8.85 ns 7.68 ns 4
|
|
Short replace runtime symbols with string expressions and without remembering all search results_cv 2.43 % 2.12 % 4
|
|
Short replace runtime symbols with simstr and memorization of all search results_mean 473 ns 473 ns 4
|
|
Short replace runtime symbols with simstr and memorization of all search results_median 468 ns 470 ns 4
|
|
Short replace runtime symbols with simstr and memorization of all search results_stddev 27.2 ns 27.0 ns 4
|
|
Short replace runtime symbols with simstr and memorization of all search results_cv 5.76 % 5.71 % 4
|
|
Short replace const symbols with string expressions and without remembering all search results_mean 309 ns 309 ns 4
|
|
Short replace const symbols with string expressions and without remembering all search results_median 310 ns 310 ns 4
|
|
Short replace const symbols with string expressions and without remembering all search results_stddev 18.9 ns 17.4 ns 4
|
|
Short replace const symbols with string expressions and without remembering all search results_cv 6.11 % 5.65 % 4
|
|
Short replace const symbols with string expressions and memorization of all search results_mean 404 ns 405 ns 4
|
|
Short replace const symbols with string expressions and memorization of all search results_median 406 ns 410 ns 4
|
|
Short replace const symbols with string expressions and memorization of all search results_stddev 24.1 ns 25.8 ns 4
|
|
Short replace const symbols with string expressions and memorization of all search results_cv 5.96 % 6.38 % 4
|
|
----- Replace All Str To Longer Size ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
replace bb to ---- in std::string|64_mean 282 ns 283 ns 4
|
|
replace bb to ---- in std::string|64_median 280 ns 279 ns 4
|
|
replace bb to ---- in std::string|64_stddev 21.8 ns 19.9 ns 4
|
|
replace bb to ---- in std::string|64_cv 7.71 % 7.03 % 4
|
|
replace bb to ---- in std::string|256_mean 919 ns 921 ns 4
|
|
replace bb to ---- in std::string|256_median 915 ns 921 ns 4
|
|
replace bb to ---- in std::string|256_stddev 22.0 ns 24.2 ns 4
|
|
replace bb to ---- in std::string|256_cv 2.40 % 2.62 % 4
|
|
replace bb to ---- in std::string|512_mean 1724 ns 1726 ns 4
|
|
replace bb to ---- in std::string|512_median 1736 ns 1746 ns 4
|
|
replace bb to ---- in std::string|512_stddev 75.6 ns 82.9 ns 4
|
|
replace bb to ---- in std::string|512_cv 4.39 % 4.80 % 4
|
|
replace bb to ---- in std::string|1024_mean 3706 ns 3706 ns 4
|
|
replace bb to ---- in std::string|1024_median 3745 ns 3749 ns 4
|
|
replace bb to ---- in std::string|1024_stddev 156 ns 167 ns 4
|
|
replace bb to ---- in std::string|1024_cv 4.20 % 4.51 % 4
|
|
replace bb to ---- in std::string|2048_mean 9489 ns 9521 ns 4
|
|
replace bb to ---- in std::string|2048_median 9590 ns 9644 ns 4
|
|
replace bb to ---- in std::string|2048_stddev 420 ns 345 ns 4
|
|
replace bb to ---- in std::string|2048_cv 4.42 % 3.63 % 4
|
|
replace bb to ---- in lstringa<8>|64_mean 288 ns 287 ns 4
|
|
replace bb to ---- in lstringa<8>|64_median 291 ns 289 ns 4
|
|
replace bb to ---- in lstringa<8>|64_stddev 13.5 ns 13.9 ns 4
|
|
replace bb to ---- in lstringa<8>|64_cv 4.69 % 4.85 % 4
|
|
replace bb to ---- in lstringa<8>|256_mean 759 ns 757 ns 4
|
|
replace bb to ---- in lstringa<8>|256_median 758 ns 753 ns 4
|
|
replace bb to ---- in lstringa<8>|256_stddev 29.4 ns 20.9 ns 4
|
|
replace bb to ---- in lstringa<8>|256_cv 3.88 % 2.76 % 4
|
|
replace bb to ---- in lstringa<8>|512_mean 1313 ns 1318 ns 4
|
|
replace bb to ---- in lstringa<8>|512_median 1336 ns 1339 ns 4
|
|
replace bb to ---- in lstringa<8>|512_stddev 60.8 ns 61.9 ns 4
|
|
replace bb to ---- in lstringa<8>|512_cv 4.63 % 4.69 % 4
|
|
replace bb to ---- in lstringa<8>|1024_mean 2382 ns 2380 ns 4
|
|
replace bb to ---- in lstringa<8>|1024_median 2387 ns 2407 ns 4
|
|
replace bb to ---- in lstringa<8>|1024_stddev 75.5 ns 100 ns 4
|
|
replace bb to ---- in lstringa<8>|1024_cv 3.17 % 4.21 % 4
|
|
replace bb to ---- in lstringa<8>|2048_mean 4381 ns 4395 ns 4
|
|
replace bb to ---- in lstringa<8>|2048_median 4370 ns 4395 ns 4
|
|
replace bb to ---- in lstringa<8>|2048_stddev 82.5 ns 79.7 ns 4
|
|
replace bb to ---- in lstringa<8>|2048_cv 1.88 % 1.81 % 4
|
|
replace bb to ---- by init stringa|64_mean 243 ns 243 ns 4
|
|
replace bb to ---- by init stringa|64_median 243 ns 243 ns 4
|
|
replace bb to ---- by init stringa|64_stddev 9.85 ns 9.68 ns 4
|
|
replace bb to ---- by init stringa|64_cv 4.06 % 3.98 % 4
|
|
replace bb to ---- by init stringa|256_mean 545 ns 547 ns 4
|
|
replace bb to ---- by init stringa|256_median 547 ns 547 ns 4
|
|
replace bb to ---- by init stringa|256_stddev 14.5 ns 12.8 ns 4
|
|
replace bb to ---- by init stringa|256_cv 2.67 % 2.33 % 4
|
|
replace bb to ---- by init stringa|512_mean 1166 ns 1166 ns 4
|
|
replace bb to ---- by init stringa|512_median 1170 ns 1172 ns 4
|
|
replace bb to ---- by init stringa|512_stddev 15.3 ns 12.2 ns 4
|
|
replace bb to ---- by init stringa|512_cv 1.32 % 1.05 % 4
|
|
replace bb to ---- by init stringa|1024_mean 2479 ns 2485 ns 4
|
|
replace bb to ---- by init stringa|1024_median 2488 ns 2511 ns 4
|
|
replace bb to ---- by init stringa|1024_stddev 44.5 ns 52.3 ns 4
|
|
replace bb to ---- by init stringa|1024_cv 1.80 % 2.11 % 4
|
|
replace bb to ---- by init stringa|2048_mean 4975 ns 5000 ns 4
|
|
replace bb to ---- by init stringa|2048_median 4859 ns 4922 ns 4
|
|
replace bb to ---- by init stringa|2048_stddev 309 ns 338 ns 4
|
|
replace bb to ---- by init stringa|2048_cv 6.21 % 6.75 % 4
|
|
----- Replace All Str To Same Size ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
replace bb to -- in std::string|64_mean 239 ns 239 ns 4
|
|
replace bb to -- in std::string|64_median 239 ns 241 ns 4
|
|
replace bb to -- in std::string|64_stddev 1.16 ns 2.62 ns 4
|
|
replace bb to -- in std::string|64_cv 0.48 % 1.09 % 4
|
|
replace bb to -- in std::string|256_mean 598 ns 597 ns 4
|
|
replace bb to -- in std::string|256_median 598 ns 584 ns 4
|
|
replace bb to -- in std::string|256_stddev 26.2 ns 33.0 ns 4
|
|
replace bb to -- in std::string|256_cv 4.37 % 5.53 % 4
|
|
replace bb to -- in std::string|512_mean 1069 ns 1072 ns 4
|
|
replace bb to -- in std::string|512_median 1071 ns 1078 ns 4
|
|
replace bb to -- in std::string|512_stddev 18.6 ns 20.0 ns 4
|
|
replace bb to -- in std::string|512_cv 1.74 % 1.87 % 4
|
|
replace bb to -- in std::string|1024_mean 1998 ns 2006 ns 4
|
|
replace bb to -- in std::string|1024_median 2002 ns 1995 ns 4
|
|
replace bb to -- in std::string|1024_stddev 86.7 ns 93.5 ns 4
|
|
replace bb to -- in std::string|1024_cv 4.34 % 4.66 % 4
|
|
replace bb to -- in std::string|2048_mean 3889 ns 3880 ns 4
|
|
replace bb to -- in std::string|2048_median 3913 ns 3924 ns 4
|
|
replace bb to -- in std::string|2048_stddev 143 ns 219 ns 4
|
|
replace bb to -- in std::string|2048_cv 3.67 % 5.66 % 4
|
|
replace bb to -- in lstringa<8>|64_mean 228 ns 228 ns 4
|
|
replace bb to -- in lstringa<8>|64_median 225 ns 227 ns 4
|
|
replace bb to -- in lstringa<8>|64_stddev 10.4 ns 10.1 ns 4
|
|
replace bb to -- in lstringa<8>|64_cv 4.55 % 4.41 % 4
|
|
replace bb to -- in lstringa<8>|256_mean 517 ns 516 ns 4
|
|
replace bb to -- in lstringa<8>|256_median 519 ns 523 ns 4
|
|
replace bb to -- in lstringa<8>|256_stddev 12.1 ns 19.7 ns 4
|
|
replace bb to -- in lstringa<8>|256_cv 2.34 % 3.82 % 4
|
|
replace bb to -- in lstringa<8>|512_mean 896 ns 895 ns 4
|
|
replace bb to -- in lstringa<8>|512_median 901 ns 900 ns 4
|
|
replace bb to -- in lstringa<8>|512_stddev 30.5 ns 31.4 ns 4
|
|
replace bb to -- in lstringa<8>|512_cv 3.40 % 3.51 % 4
|
|
replace bb to -- in lstringa<8>|1024_mean 1631 ns 1631 ns 4
|
|
replace bb to -- in lstringa<8>|1024_median 1640 ns 1650 ns 4
|
|
replace bb to -- in lstringa<8>|1024_stddev 73.0 ns 73.5 ns 4
|
|
replace bb to -- in lstringa<8>|1024_cv 4.47 % 4.51 % 4
|
|
replace bb to -- in lstringa<8>|2048_mean 3106 ns 3113 ns 4
|
|
replace bb to -- in lstringa<8>|2048_median 3056 ns 3076 ns 4
|
|
replace bb to -- in lstringa<8>|2048_stddev 138 ns 127 ns 4
|
|
replace bb to -- in lstringa<8>|2048_cv 4.45 % 4.08 % 4
|
|
replace bb to -- by init stringa|64_mean 213 ns 213 ns 4
|
|
replace bb to -- by init stringa|64_median 213 ns 213 ns 4
|
|
replace bb to -- by init stringa|64_stddev 4.18 ns 3.42 ns 4
|
|
replace bb to -- by init stringa|64_cv 1.96 % 1.60 % 4
|
|
replace bb to -- by init stringa|256_mean 438 ns 438 ns 4
|
|
replace bb to -- by init stringa|256_median 438 ns 438 ns 4
|
|
replace bb to -- by init stringa|256_stddev 11.4 ns 12.2 ns 4
|
|
replace bb to -- by init stringa|256_cv 2.59 % 2.78 % 4
|
|
replace bb to -- by init stringa|512_mean 710 ns 706 ns 4
|
|
replace bb to -- by init stringa|512_median 694 ns 691 ns 4
|
|
replace bb to -- by init stringa|512_stddev 35.5 ns 31.4 ns 4
|
|
replace bb to -- by init stringa|512_cv 5.00 % 4.44 % 4
|
|
replace bb to -- by init stringa|1024_mean 1289 ns 1290 ns 4
|
|
replace bb to -- by init stringa|1024_median 1278 ns 1283 ns 4
|
|
replace bb to -- by init stringa|1024_stddev 51.4 ns 57.5 ns 4
|
|
replace bb to -- by init stringa|1024_cv 3.99 % 4.46 % 4
|
|
replace bb to -- by init stringa|2048_mean 2465 ns 2455 ns 4
|
|
replace bb to -- by init stringa|2048_median 2471 ns 2455 ns 4
|
|
replace bb to -- by init stringa|2048_stddev 51.3 ns 45.6 ns 4
|
|
replace bb to -- by init stringa|2048_cv 2.08 % 1.86 % 4
|
|
----- Hash Map insert and find ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
hashStrMapA<size_t> emplace & find stringa;_mean 4964020 ns 4952567 ns 4
|
|
hashStrMapA<size_t> emplace & find stringa;_median 4929907 ns 4882812 ns 4
|
|
hashStrMapA<size_t> emplace & find stringa;_stddev 206825 ns 241637 ns 4
|
|
hashStrMapA<size_t> emplace & find stringa;_cv 4.17 % 4.88 % 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string;_mean 6943346 ns 6940569 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string;_median 6937455 ns 6905692 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string;_stddev 315799 ns 287605 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string;_cv 4.55 % 4.14 % 4
|
|
hashStrMapA<size_t> emplace & find ssa;_mean 4594823 ns 4591112 ns 4
|
|
hashStrMapA<size_t> emplace & find ssa;_median 4617364 ns 4616477 ns 4
|
|
hashStrMapA<size_t> emplace & find ssa;_stddev 211818 ns 253653 ns 4
|
|
hashStrMapA<size_t> emplace & find ssa;_cv 4.61 % 5.52 % 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string_view;_mean 7269646 ns 7291667 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string_view;_median 7400597 ns 7395833 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string_view;_stddev 536554 ns 450051 ns 4
|
|
std::unordered_map<std::string, size_t> emplace & find std::string_view;_cv 7.38 % 6.17 % 4
|
|
----- Build Full Func Name ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
|
|
Build func full name std::string;_mean 1863 ns 1870 ns 4
|
|
Build func full name std::string;_median 1871 ns 1882 ns 4
|
|
Build func full name std::string;_stddev 58.6 ns 77.4 ns 4
|
|
Build func full name std::string;_cv 3.15 % 4.14 % 4
|
|
Build func full name std::string 1;_mean 2021 ns 2026 ns 4
|
|
Build func full name std::string 1;_median 2013 ns 2026 ns 4
|
|
Build func full name std::string 1;_stddev 62.6 ns 63.0 ns 4
|
|
Build func full name std::string 1;_cv 3.10 % 3.11 % 4
|
|
Build func full name std::stream;_mean 11156 ns 11169 ns 4
|
|
Build func full name std::stream;_median 11048 ns 11108 ns 4
|
|
Build func full name std::stream;_stddev 508 ns 417 ns 4
|
|
Build func full name std::stream;_cv 4.56 % 3.73 % 4
|
|
Build func full name stringa;_mean 1063 ns 1067 ns 4
|
|
Build func full name stringa;_median 1071 ns 1067 ns 4
|
|
Build func full name stringa;_stddev 24.1 ns 17.1 ns 4
|
|
Build func full name stringa;_cv 2.27 % 1.60 % 4
|
|
Build func full name stringa 1;_mean 1235 ns 1235 ns 4
|
|
Build func full name stringa 1;_median 1238 ns 1242 ns 4
|
|
Build func full name stringa 1;_stddev 42.3 ns 47.7 ns 4
|
|
Build func full name stringa 1;_cv 3.43 % 3.86 % 4
|