simstr/bench/results/004-Xeon E5-2682 v4, Window...

988 lines
146 KiB
Plaintext

Benchmarks of simstr, version 1.8.1
Sources: https://github.com/orefkov/simstr
Results: https://orefkov.github.io/simstr/results.html
Compiler MSVC 19.44.35213.0
2026-03-22T13:57:22+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 email ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
Concat email std::format_mean 256 ns 255 ns 4
Concat email std::format_median 256 ns 257 ns 4
Concat email std::format_stddev 5.69 ns 2.79 ns 4
Concat email std::format_cv 2.22 % 1.09 % 4
Concat email std::stringstream_mean 940 ns 942 ns 4
Concat email std::stringstream_median 934 ns 942 ns 4
Concat email std::stringstream_stddev 17.4 ns 14.2 ns 4
Concat email std::stringstream_cv 1.85 % 1.51 % 4
Concat email stringzilla append_mean 287 ns 286 ns 4
Concat email stringzilla append_median 286 ns 289 ns 4
Concat email stringzilla append_stddev 22.9 ns 21.4 ns 4
Concat email stringzilla append_cv 7.97 % 7.51 % 4
Concat email stringzilla concat_mean 134 ns 135 ns 4
Concat email stringzilla concat_median 134 ns 135 ns 4
Concat email stringzilla concat_stddev 5.29 ns 5.75 ns 4
Concat email stringzilla concat_cv 3.94 % 4.27 % 4
Concat email std::string append_mean 200 ns 201 ns 4
Concat email std::string append_median 201 ns 202 ns 4
Concat email std::string append_stddev 4.82 ns 4.34 ns 4
Concat email std::string append_cv 2.41 % 2.16 % 4
Concat email std::string by strexpr_mean 113 ns 114 ns 4
Concat email std::string by strexpr_median 114 ns 114 ns 4
Concat email std::string by strexpr_stddev 3.52 ns 3.57 ns 4
Concat email std::string by strexpr_cv 3.10 % 3.15 % 4
Concat email stringa_mean 106 ns 106 ns 4
Concat email stringa_median 102 ns 103 ns 4
Concat email stringa_stddev 8.27 ns 6.28 ns 4
Concat email stringa_cv 7.77 % 5.94 % 4
----- Concatenate string + Number + "Literal" ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
Concat std::string and number by std to std::string_mean 333 ns 333 ns 4
Concat std::string and number by std to std::string_median 333 ns 333 ns 4
Concat std::string and number by std to std::string_stddev 3.36 ns 4.23 ns 4
Concat std::string and number by std to std::string_cv 1.01 % 1.27 % 4
Concat std::string and number by StrExpr to std::string_mean 219 ns 217 ns 4
Concat std::string and number by StrExpr to std::string_median 220 ns 213 ns 4
Concat std::string and number by StrExpr to std::string_stddev 3.90 ns 6.80 ns 4
Concat std::string and number by StrExpr to std::string_cv 1.78 % 3.14 % 4
Concat stringa and number by StrExpr to simstr::stringa_mean 109 ns 109 ns 4
Concat stringa and number by StrExpr to simstr::stringa_median 109 ns 109 ns 4
Concat stringa and number by StrExpr to simstr::stringa_stddev 2.59 ns 2.34 ns 4
Concat stringa and number by StrExpr to simstr::stringa_cv 2.37 % 2.14 % 4
Concat stringa and number by e_concat to simstr::stringa_mean 121 ns 121 ns 4
Concat stringa and number by e_concat to simstr::stringa_median 122 ns 121 ns 4
Concat stringa and number by e_concat to simstr::stringa_stddev 1.61 ns 2.34 ns 4
Concat stringa and number by e_concat to simstr::stringa_cv 1.33 % 1.92 % 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 1030 ns 1031 ns 4
Concat std::string and format hex number and literal to std::string_median 1029 ns 1025 ns 4
Concat std::string and format hex number and literal to std::string_stddev 9.52 ns 10.5 ns 4
Concat std::string and format hex number and literal to std::string_cv 0.92 % 1.02 % 4
std::format std::string and hex number by literal to std::string_mean 1872 ns 1862 ns 4
std::format std::string and hex number by literal to std::string_median 1870 ns 1862 ns 4
std::format std::string and hex number by literal to std::string_stddev 44.1 ns 54.0 ns 4
std::format std::string and hex number by literal to std::string_cv 2.35 % 2.90 % 4
Concat std::string and std::to_chars and string to std::string_mean 252 ns 253 ns 4
Concat std::string and std::to_chars and string to std::string_median 252 ns 251 ns 4
Concat std::string and std::to_chars and string to std::string_stddev 2.77 ns 2.79 ns 4
Concat std::string and std::to_chars and string to std::string_cv 1.10 % 1.10 % 4
Concat std::string and hex number and literal by StrExpr to std::string_mean 115 ns 115 ns 4
Concat std::string and hex number and literal by StrExpr to std::string_median 115 ns 116 ns 4
Concat std::string and hex number and literal by StrExpr to std::string_stddev 3.10 ns 3.45 ns 4
Concat std::string and hex number and literal by StrExpr to std::string_cv 2.71 % 3.01 % 4
Concat stringa and hex number and literal by StrExpr to simstr::stringa_mean 101 ns 101 ns 4
Concat stringa and hex number and literal by StrExpr to simstr::stringa_median 102 ns 103 ns 4
Concat stringa and hex number and literal by StrExpr to simstr::stringa_stddev 2.17 ns 2.09 ns 4
Concat stringa and hex number and literal by StrExpr to simstr::stringa_cv 2.14 % 2.06 % 4
Concat stringa and hex number and literal by e_concat to simstr::stringa_mean 108 ns 107 ns 4
Concat stringa and hex number and literal by e_concat to simstr::stringa_median 108 ns 107 ns 4
Concat stringa and hex number and literal by e_concat to simstr::stringa_stddev 1.81 ns 1.99 ns 4
Concat stringa and hex number and literal by e_concat to simstr::stringa_cv 1.68 % 1.86 % 4
Subst stringa and hex number by e_subst literal to simstr::stringa_mean 173 ns 172 ns 4
Subst stringa and hex number by e_subst literal to simstr::stringa_median 171 ns 171 ns 4
Subst stringa and hex number by e_subst literal to simstr::stringa_stddev 4.43 ns 2.44 ns 4
Subst stringa and hex number by e_subst literal to simstr::stringa_cv 2.57 % 1.42 % 4
Subst stringa and hex number by e_vsubst stra to simstr::stringa_mean 361 ns 361 ns 4
Subst stringa and hex number by e_vsubst stra to simstr::stringa_median 362 ns 361 ns 4
Subst stringa and hex number by e_vsubst stra to simstr::stringa_stddev 5.97 ns 6.55 ns 4
Subst stringa and hex number by e_vsubst stra to simstr::stringa_cv 1.66 % 1.81 % 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 702 ns 702 ns 4
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_median 704 ns 706 ns 4
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_stddev 15.7 ns 16.7 ns 4
"abcdefghihklmopqr "_ss + i / 0x8a010_fmt + " end"_cv 2.23 % 2.38 % 4
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_mean 810 ns 802 ns 4
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_median 808 ns 802 ns 4
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_stddev 12.5 ns 14.2 ns 4
e_subst("abcdefghihklmopqr {} end", i / 0x8a010_fmt)_cv 1.55 % 1.77 % 4
e_vsubst(pattern, i / 0x8a010_fmt)_mean 1144 ns 1144 ns 4
e_vsubst(pattern, i / 0x8a010_fmt)_median 1148 ns 1144 ns 4
e_vsubst(pattern, i / 0x8a010_fmt)_stddev 12.7 ns 22.8 ns 4
e_vsubst(pattern, i / 0x8a010_fmt)_cv 1.11 % 1.99 % 4
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_mean 1583 ns 1569 ns 4
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_median 1577 ns 1569 ns 4
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_stddev 19.1 ns 28.5 ns 4
fmt::format(FMT_COMPILE("abcdefghihklmopqr {:#010o} end"), i)_cv 1.21 % 1.81 % 4
fmt::format("abcdefghihklmopqr {:#010o} end", i)_mean 1596 ns 1587 ns 4
fmt::format("abcdefghihklmopqr {:#010o} end", i)_median 1597 ns 1587 ns 4
fmt::format("abcdefghihklmopqr {:#010o} end", i)_stddev 35.4 ns 45.0 ns 4
fmt::format("abcdefghihklmopqr {:#010o} end", i)_cv 2.22 % 2.84 % 4
std::format("abcdefghihklmopqr {:#010o} end", i)_mean 1946 ns 1916 ns 4
std::format("abcdefghihklmopqr {:#010o} end", i)_median 1941 ns 1904 ns 4
std::format("abcdefghihklmopqr {:#010o} end", i)_stddev 30.6 ns 22.7 ns 4
std::format("abcdefghihklmopqr {:#010o} end", i)_cv 1.57 % 1.18 % 4
std::vformat(pattern, std::make_format_args(i))_mean 1990 ns 1978 ns 4
std::vformat(pattern, std::make_format_args(i))_median 1972 ns 1967 ns 4
std::vformat(pattern, std::make_format_args(i))_stddev 63.3 ns 62.8 ns 4
std::vformat(pattern, std::make_format_args(i))_cv 3.18 % 3.17 % 4
std::format with std::formatted_size_mean 2922 ns 2932 ns 4
std::format with std::formatted_size_median 2925 ns 2916 ns 4
std::format with std::formatted_size_stddev 31.5 ns 33.1 ns 4
std::format with std::formatted_size_cv 1.08 % 1.13 % 4
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_mean 7026 ns 6975 ns 4
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_median 7003 ns 6975 ns 4
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_stddev 173 ns 142 ns 4
strm << "abcdefghihklmopqr 0" << std::oct << std::setw(9) << std::setfill('0') << i << " end"_cv 2.46 % 2.04 % 4
----- Concatenate string + "Literal" ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
Concat std::string by std to std::string_mean 55.5 ns 55.2 ns 4
Concat std::string by std to std::string_median 55.4 ns 54.9 ns 4
Concat std::string by std to std::string_stddev 1.50 ns 1.16 ns 4
Concat std::string by std to std::string_cv 2.71 % 2.09 % 4
Concat std::string by StrExpr to std::string_mean 77.4 ns 77.6 ns 4
Concat std::string by StrExpr to std::string_median 77.4 ns 77.6 ns 4
Concat std::string by StrExpr to std::string_stddev 0.605 ns 1.01 ns 4
Concat std::string by StrExpr to std::string_cv 0.78 % 1.30 % 4
Concat stringa by StrExpr to stringa_mean 52.2 ns 51.6 ns 4
Concat stringa by StrExpr to stringa_median 52.4 ns 51.6 ns 4
Concat stringa by StrExpr to stringa_stddev 0.927 ns 1.28 ns 4
Concat stringa by StrExpr to stringa_cv 1.77 % 2.47 % 4
----- Find three concatenated string in string_view -----/repeats:1 0.000 ns 0.000 ns 1000000000000
Find concat three std::string_mean 230 ns 229 ns 4
Find concat three std::string_median 229 ns 228 ns 4
Find concat three std::string_stddev 3.20 ns 5.01 ns 4
Find concat three std::string_cv 1.39 % 2.19 % 4
Find concat three strexpr_mean 138 ns 134 ns 4
Find concat three strexpr_median 127 ns 127 ns 4
Find concat three strexpr_stddev 22.1 ns 15.2 ns 4
Find concat three strexpr_cv 16.06 % 11.36 % 4
Find concat three simstr_mean 28.3 ns 28.2 ns 4
Find concat three simstr_median 28.3 ns 28.2 ns 4
Find concat three simstr_stddev 0.625 ns 0.342 ns 4
Find concat three simstr_cv 2.21 % 1.22 % 4
Find concat three stringzilla string_mean 232 ns 231 ns 4
Find concat three stringzilla string_median 231 ns 229 ns 4
Find concat three stringzilla string_stddev 4.72 ns 2.44 ns 4
Find concat three stringzilla string_cv 2.03 % 1.06 % 4
----- Build Type Name ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
BuildTypeNameStr 0/0_mean 17.8 ns 17.8 ns 4
BuildTypeNameStr 0/0_median 17.9 ns 18.0 ns 4
BuildTypeNameStr 0/0_stddev 0.258 ns 0.419 ns 4
BuildTypeNameStr 0/0_cv 1.45 % 2.35 % 4
BuildTypeNameExp 0/0_mean 14.4 ns 14.4 ns 4
BuildTypeNameExp 0/0_median 14.4 ns 14.4 ns 4
BuildTypeNameExp 0/0_stddev 0.177 ns 0.256 ns 4
BuildTypeNameExp 0/0_cv 1.23 % 1.77 % 4
BuildTypeNameSim 0/0_mean 15.4 ns 15.3 ns 4
BuildTypeNameSim 0/0_median 15.3 ns 15.2 ns 4
BuildTypeNameSim 0/0_stddev 0.562 ns 0.596 ns 4
BuildTypeNameSim 0/0_cv 3.66 % 3.90 % 4
BuildTypeNameStr 10/10_mean 80.1 ns 80.0 ns 4
BuildTypeNameStr 10/10_median 79.7 ns 80.6 ns 4
BuildTypeNameStr 10/10_stddev 1.34 ns 2.00 ns 4
BuildTypeNameStr 10/10_cv 1.67 % 2.50 % 4
BuildTypeNameExp 10/10_mean 39.4 ns 39.6 ns 4
BuildTypeNameExp 10/10_median 39.3 ns 39.3 ns 4
BuildTypeNameExp 10/10_stddev 0.579 ns 0.419 ns 4
BuildTypeNameExp 10/10_cv 1.47 % 1.06 % 4
BuildTypeNameSim 10/10_mean 38.8 ns 38.6 ns 4
BuildTypeNameSim 10/10_median 38.9 ns 38.4 ns 4
BuildTypeNameSim 10/10_stddev 0.643 ns 0.436 ns 4
BuildTypeNameSim 10/10_cv 1.66 % 1.13 % 4
----- Replace string by copy -----/repeats:1 0.000 ns 0.000 ns 1000000000000
Concat with replace str_mean 352 ns 351 ns 4
Concat with replace str_median 353 ns 353 ns 4
Concat with replace str_stddev 8.02 ns 10.1 ns 4
Concat with replace str_cv 2.28 % 2.88 % 4
Concat with replace exp_mean 222 ns 222 ns 4
Concat with replace exp_median 222 ns 222 ns 4
Concat with replace exp_stddev 3.00 ns 3.02 ns 4
Concat with replace exp_cv 1.35 % 1.36 % 4
----- Create Empty Str ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
std::string e;_mean 2.58 ns 2.58 ns 4
std::string e;_median 2.58 ns 2.57 ns 4
std::string e;_stddev 0.033 ns 0.028 ns 4
std::string e;_cv 1.28 % 1.08 % 4
std::string_view e;_mean 1.84 ns 1.84 ns 4
std::string_view e;_median 1.85 ns 1.84 ns 4
std::string_view e;_stddev 0.022 ns 0.034 ns 4
std::string_view e;_cv 1.20 % 1.86 % 4
ssa e;_mean 1.86 ns 1.84 ns 4
ssa e;_median 1.86 ns 1.84 ns 4
ssa e;_stddev 0.010 ns 0.034 ns 4
ssa e;_cv 0.53 % 1.86 % 4
stringa e;_mean 2.22 ns 2.22 ns 4
stringa e;_median 2.22 ns 2.22 ns 4
stringa e;_stddev 0.020 ns 0.000 ns 4
stringa e;_cv 0.92 % 0.00 % 4
lstringa<20> e;_mean 2.55 ns 2.55 ns 4
lstringa<20> e;_median 2.55 ns 2.55 ns 4
lstringa<20> e;_stddev 0.035 ns 0.048 ns 4
lstringa<20> e;_cv 1.39 % 1.90 % 4
lstringa<40> e;_mean 2.57 ns 2.55 ns 4
lstringa<40> e;_median 2.57 ns 2.57 ns 4
lstringa<40> e;_stddev 0.038 ns 0.028 ns 4
lstringa<40> e;_cv 1.48 % 1.09 % 4
----- Create Str from short literal (9 symbols) --------/repeats:1 0.000 ns 0.000 ns 1000000000000
std::string e = "Test text";_mean 2.57 ns 2.57 ns 4
std::string e = "Test text";_median 2.57 ns 2.57 ns 4
std::string e = "Test text";_stddev 0.053 ns 0.046 ns 4
std::string e = "Test text";_cv 2.07 % 1.77 % 4
std::string_view e = "Test text";_mean 1.84 ns 1.84 ns 4
std::string_view e = "Test text";_median 1.84 ns 1.84 ns 4
std::string_view e = "Test text";_stddev 0.022 ns 0.034 ns 4
std::string_view e = "Test text";_cv 1.22 % 1.86 % 4
ssa e = "Test text";_mean 1.84 ns 1.84 ns 4
ssa e = "Test text";_median 1.84 ns 1.84 ns 4
ssa e = "Test text";_stddev 0.010 ns 0.000 ns 4
ssa e = "Test text";_cv 0.55 % 0.00 % 4
stringa e = "Test text";_mean 2.57 ns 2.55 ns 4
stringa e = "Test text";_median 2.57 ns 2.55 ns 4
stringa e = "Test text";_stddev 0.026 ns 0.048 ns 4
stringa e = "Test text";_cv 1.01 % 1.90 % 4
lstringa<20> e = "Test text";_mean 2.60 ns 2.61 ns 4
lstringa<20> e = "Test text";_median 2.59 ns 2.62 ns 4
lstringa<20> e = "Test text";_stddev 0.045 ns 0.028 ns 4
lstringa<20> e = "Test text";_cv 1.73 % 1.07 % 4
lstringa<40> e = "Test text";_mean 2.58 ns 2.55 ns 4
lstringa<40> e = "Test text";_median 2.60 ns 2.55 ns 4
lstringa<40> e = "Test text";_stddev 0.034 ns 0.048 ns 4
lstringa<40> e = "Test text";_cv 1.33 % 1.90 % 4
----- Create Str from long literal (30 symbols) ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
std::string e = "123456789012345678901234567890";_mean 79.3 ns 79.3 ns 4
std::string e = "123456789012345678901234567890";_median 78.4 ns 78.5 ns 4
std::string e = "123456789012345678901234567890";_stddev 2.83 ns 3.02 ns 4
std::string e = "123456789012345678901234567890";_cv 3.57 % 3.81 % 4
std::string_view e = "123456789012345678901234567890";_mean 1.86 ns 1.85 ns 4
std::string_view e = "123456789012345678901234567890";_median 1.86 ns 1.84 ns 4
std::string_view e = "123456789012345678901234567890";_stddev 0.015 ns 0.021 ns 4
std::string_view e = "123456789012345678901234567890";_cv 0.80 % 1.13 % 4
ssa e = "123456789012345678901234567890";_mean 1.86 ns 1.85 ns 4
ssa e = "123456789012345678901234567890";_median 1.83 ns 1.84 ns 4
ssa e = "123456789012345678901234567890";_stddev 0.065 ns 0.086 ns 4
ssa e = "123456789012345678901234567890";_cv 3.49 % 4.66 % 4
stringa e = "123456789012345678901234567890";_mean 2.24 ns 2.22 ns 4
stringa e = "123456789012345678901234567890";_median 2.24 ns 2.20 ns 4
stringa e = "123456789012345678901234567890";_stddev 0.026 ns 0.049 ns 4
stringa e = "123456789012345678901234567890";_cv 1.18 % 2.20 % 4
lstringa<20> e = "123456789012345678901234567890";_mean 72.7 ns 72.8 ns 4
lstringa<20> e = "123456789012345678901234567890";_median 73.0 ns 73.2 ns 4
lstringa<20> e = "123456789012345678901234567890";_stddev 0.990 ns 0.872 ns 4
lstringa<20> e = "123456789012345678901234567890";_cv 1.36 % 1.20 % 4
lstringa<40> e = "123456789012345678901234567890";_mean 3.32 ns 3.33 ns 4
lstringa<40> e = "123456789012345678901234567890";_median 3.31 ns 3.30 ns 4
lstringa<40> e = "123456789012345678901234567890";_stddev 0.085 ns 0.073 ns 4
lstringa<40> e = "123456789012345678901234567890";_cv 2.56 % 2.20 % 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.40 ns 5.41 ns 4
std::string e = "Test text"; auto c{e};_median 5.39 ns 5.44 ns 4
std::string e = "Test text"; auto c{e};_stddev 0.067 ns 0.070 ns 4
std::string e = "Test text"; auto c{e};_cv 1.24 % 1.29 % 4
std::string_view e = "Test text"; auto c{e};_mean 2.95 ns 2.90 ns 4
std::string_view e = "Test text"; auto c{e};_median 2.96 ns 2.92 ns 4
std::string_view e = "Test text"; auto c{e};_stddev 0.021 ns 0.083 ns 4
std::string_view e = "Test text"; auto c{e};_cv 0.72 % 2.88 % 4
ssa e = "Test text"; auto c{e};_mean 2.95 ns 2.95 ns 4
ssa e = "Test text"; auto c{e};_median 2.95 ns 2.92 ns 4
ssa e = "Test text"; auto c{e};_stddev 0.058 ns 0.066 ns 4
ssa e = "Test text"; auto c{e};_cv 1.98 % 2.25 % 4
stringa e = "Test text"; auto c{e};_mean 4.12 ns 4.10 ns 4
stringa e = "Test text"; auto c{e};_median 4.11 ns 4.08 ns 4
stringa e = "Test text"; auto c{e};_stddev 0.046 ns 0.045 ns 4
stringa e = "Test text"; auto c{e};_cv 1.12 % 1.10 % 4
lstringa<20> e = "Test text"; auto c{e};_mean 4.78 ns 4.74 ns 4
lstringa<20> e = "Test text"; auto c{e};_median 4.76 ns 4.74 ns 4
lstringa<20> e = "Test text"; auto c{e};_stddev 0.071 ns 0.114 ns 4
lstringa<20> e = "Test text"; auto c{e};_cv 1.48 % 2.40 % 4
lstringa<40> e = "Test text"; auto c{e};_mean 5.49 ns 5.48 ns 4
lstringa<40> e = "Test text"; auto c{e};_median 5.49 ns 5.44 ns 4
lstringa<40> e = "Test text"; auto c{e};_stddev 0.036 ns 0.070 ns 4
lstringa<40> e = "Test text"; auto c{e};_cv 0.66 % 1.27 % 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 78.8 ns 78.5 ns 4
std::string e = "123456789012345678901234567890"; auto c{e};_median 78.5 ns 78.5 ns 4
std::string e = "123456789012345678901234567890"; auto c{e};_stddev 2.38 ns 3.18 ns 4
std::string e = "123456789012345678901234567890"; auto c{e};_cv 3.03 % 4.06 % 4
std::string_view e = "123456789012345678901234567890"; auto c{e};_mean 1.50 ns 1.49 ns 4
std::string_view e = "123456789012345678901234567890"; auto c{e};_median 1.50 ns 1.49 ns 4
std::string_view e = "123456789012345678901234567890"; auto c{e};_stddev 0.015 ns 0.018 ns 4
std::string_view e = "123456789012345678901234567890"; auto c{e};_cv 0.99 % 1.22 % 4
ssa e = "123456789012345678901234567890"; auto c{e};_mean 1.47 ns 1.47 ns 4
ssa e = "123456789012345678901234567890"; auto c{e};_median 1.46 ns 1.46 ns 4
ssa e = "123456789012345678901234567890"; auto c{e};_stddev 0.019 ns 0.030 ns 4
ssa e = "123456789012345678901234567890"; auto c{e};_cv 1.30 % 2.05 % 4
stringa e = "123456789012345678901234567890"; auto c{e};_mean 2.98 ns 2.97 ns 4
stringa e = "123456789012345678901234567890"; auto c{e};_median 3.00 ns 2.95 ns 4
stringa e = "123456789012345678901234567890"; auto c{e};_stddev 0.039 ns 0.031 ns 4
stringa e = "123456789012345678901234567890"; auto c{e};_cv 1.31 % 1.06 % 4
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_mean 82.9 ns 82.4 ns 4
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_median 83.1 ns 82.8 ns 4
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_stddev 0.866 ns 1.67 ns 4
lstringa<20> e = "123456789012345678901234567890"; auto c{e};_cv 1.04 % 2.03 % 4
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_mean 7.41 ns 7.39 ns 4
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_median 7.38 ns 7.39 ns 4
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_stddev 0.131 ns 0.114 ns 4
lstringa<40> e = "123456789012345678901234567890"; auto c{e};_cv 1.77 % 1.54 % 4
----- Find 9 symbols text in end of 99 symbols text ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
sz::string::find;_mean 117 ns 117 ns 4
sz::string::find;_median 117 ns 117 ns 4
sz::string::find;_stddev 0.763 ns 1.99 ns 4
sz::string::find;_cv 0.65 % 1.70 % 4
std::string::find;_mean 40.3 ns 40.1 ns 4
std::string::find;_median 40.2 ns 39.9 ns 4
std::string::find;_stddev 0.623 ns 0.453 ns 4
std::string::find;_cv 1.54 % 1.13 % 4
std::string_view::find;_mean 39.8 ns 39.5 ns 4
std::string_view::find;_median 39.8 ns 39.7 ns 4
std::string_view::find;_stddev 0.318 ns 0.835 ns 4
std::string_view::find;_cv 0.80 % 2.12 % 4
ssa::find;_mean 21.9 ns 21.9 ns 4
ssa::find;_median 21.9 ns 22.0 ns 4
ssa::find;_stddev 0.213 ns 0.244 ns 4
ssa::find;_cv 0.97 % 1.12 % 4
stringa::find;_mean 29.4 ns 29.0 ns 4
stringa::find;_median 29.5 ns 29.5 ns 4
stringa::find;_stddev 0.245 ns 1.25 ns 4
stringa::find;_cv 0.83 % 4.33 % 4
lstringa<20>::find;_mean 24.4 ns 23.9 ns 4
lstringa<20>::find;_median 23.4 ns 22.5 ns 4
lstringa<20>::find;_stddev 3.47 ns 3.63 ns 4
lstringa<20>::find;_cv 14.22 % 15.18 % 4
lstringa<40>::find;_mean 23.1 ns 23.0 ns 4
lstringa<40>::find;_median 23.0 ns 22.8 ns 4
lstringa<40>::find;_stddev 0.931 ns 0.740 ns 4
lstringa<40>::find;_cv 4.04 % 3.21 % 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 5.18 ns 5.20 ns 4
std::string copy{str_with_len_N};/15_median 5.13 ns 5.16 ns 4
std::string copy{str_with_len_N};/15_stddev 0.143 ns 0.078 ns 4
std::string copy{str_with_len_N};/15_cv 2.76 % 1.50 % 4
std::string copy{str_with_len_N};/16_mean 83.5 ns 83.7 ns 4
std::string copy{str_with_len_N};/16_median 83.4 ns 83.7 ns 4
std::string copy{str_with_len_N};/16_stddev 1.76 ns 2.01 ns 4
std::string copy{str_with_len_N};/16_cv 2.11 % 2.41 % 4
std::string copy{str_with_len_N};/23_mean 82.0 ns 82.0 ns 4
std::string copy{str_with_len_N};/23_median 81.8 ns 82.0 ns 4
std::string copy{str_with_len_N};/23_stddev 1.56 ns 2.01 ns 4
std::string copy{str_with_len_N};/23_cv 1.90 % 2.46 % 4
std::string copy{str_with_len_N};/24_mean 83.5 ns 83.7 ns 4
std::string copy{str_with_len_N};/24_median 83.4 ns 83.7 ns 4
std::string copy{str_with_len_N};/24_stddev 0.829 ns 1.42 ns 4
std::string copy{str_with_len_N};/24_cv 0.99 % 1.70 % 4
std::string copy{str_with_len_N};/32_mean 89.4 ns 88.5 ns 4
std::string copy{str_with_len_N};/32_median 89.9 ns 88.1 ns 4
std::string copy{str_with_len_N};/32_stddev 1.35 ns 1.67 ns 4
std::string copy{str_with_len_N};/32_cv 1.50 % 1.89 % 4
std::string copy{str_with_len_N};/64_mean 90.6 ns 90.5 ns 4
std::string copy{str_with_len_N};/64_median 86.7 ns 86.8 ns 4
std::string copy{str_with_len_N};/64_stddev 9.13 ns 9.57 ns 4
std::string copy{str_with_len_N};/64_cv 10.07 % 10.57 % 4
std::string copy{str_with_len_N};/128_mean 90.0 ns 90.0 ns 4
std::string copy{str_with_len_N};/128_median 89.9 ns 90.0 ns 4
std::string copy{str_with_len_N};/128_stddev 0.893 ns 1.71 ns 4
std::string copy{str_with_len_N};/128_cv 0.99 % 1.90 % 4
std::string copy{str_with_len_N};/256_mean 91.8 ns 92.0 ns 4
std::string copy{str_with_len_N};/256_median 91.7 ns 91.6 ns 4
std::string copy{str_with_len_N};/256_stddev 3.06 ns 3.60 ns 4
std::string copy{str_with_len_N};/256_cv 3.34 % 3.91 % 4
std::string copy{str_with_len_N};/512_mean 96.2 ns 95.7 ns 4
std::string copy{str_with_len_N};/512_median 95.8 ns 96.3 ns 4
std::string copy{str_with_len_N};/512_stddev 1.01 ns 1.05 ns 4
std::string copy{str_with_len_N};/512_cv 1.05 % 1.09 % 4
std::string copy{str_with_len_N};/1024_mean 102 ns 102 ns 4
std::string copy{str_with_len_N};/1024_median 102 ns 103 ns 4
std::string copy{str_with_len_N};/1024_stddev 5.76 ns 5.50 ns 4
std::string copy{str_with_len_N};/1024_cv 5.65 % 5.39 % 4
std::string copy{str_with_len_N};/2048_mean 132 ns 132 ns 4
std::string copy{str_with_len_N};/2048_median 132 ns 131 ns 4
std::string copy{str_with_len_N};/2048_stddev 2.82 ns 4.19 ns 4
std::string copy{str_with_len_N};/2048_cv 2.13 % 3.17 % 4
std::string copy{str_with_len_N};/4096_mean 184 ns 182 ns 4
std::string copy{str_with_len_N};/4096_median 182 ns 182 ns 4
std::string copy{str_with_len_N};/4096_stddev 4.95 ns 4.95 ns 4
std::string copy{str_with_len_N};/4096_cv 2.69 % 2.72 % 4
stringa copy{str_with_len_N};/15_mean 4.04 ns 4.01 ns 4
stringa copy{str_with_len_N};/15_median 4.05 ns 4.01 ns 4
stringa copy{str_with_len_N};/15_stddev 0.033 ns 0.071 ns 4
stringa copy{str_with_len_N};/15_cv 0.83 % 1.77 % 4
stringa copy{str_with_len_N};/16_mean 4.07 ns 4.08 ns 4
stringa copy{str_with_len_N};/16_median 4.08 ns 4.05 ns 4
stringa copy{str_with_len_N};/16_stddev 0.086 ns 0.083 ns 4
stringa copy{str_with_len_N};/16_cv 2.11 % 2.05 % 4
stringa copy{str_with_len_N};/23_mean 4.09 ns 4.08 ns 4
stringa copy{str_with_len_N};/23_median 4.09 ns 4.08 ns 4
stringa copy{str_with_len_N};/23_stddev 0.073 ns 0.074 ns 4
stringa copy{str_with_len_N};/23_cv 1.79 % 1.81 % 4
stringa copy{str_with_len_N};/24_mean 18.8 ns 18.6 ns 4
stringa copy{str_with_len_N};/24_median 18.8 ns 18.8 ns 4
stringa copy{str_with_len_N};/24_stddev 0.284 ns 0.384 ns 4
stringa copy{str_with_len_N};/24_cv 1.51 % 2.06 % 4
stringa copy{str_with_len_N};/32_mean 18.6 ns 18.5 ns 4
stringa copy{str_with_len_N};/32_median 18.5 ns 18.4 ns 4
stringa copy{str_with_len_N};/32_stddev 0.266 ns 0.209 ns 4
stringa copy{str_with_len_N};/32_cv 1.43 % 1.13 % 4
stringa copy{str_with_len_N};/64_mean 18.6 ns 18.4 ns 4
stringa copy{str_with_len_N};/64_median 18.6 ns 18.4 ns 4
stringa copy{str_with_len_N};/64_stddev 0.088 ns 0.342 ns 4
stringa copy{str_with_len_N};/64_cv 0.47 % 1.86 % 4
stringa copy{str_with_len_N};/128_mean 18.6 ns 18.6 ns 4
stringa copy{str_with_len_N};/128_median 18.6 ns 18.6 ns 4
stringa copy{str_with_len_N};/128_stddev 0.111 ns 0.242 ns 4
stringa copy{str_with_len_N};/128_cv 0.60 % 1.30 % 4
stringa copy{str_with_len_N};/256_mean 18.7 ns 18.4 ns 4
stringa copy{str_with_len_N};/256_median 18.7 ns 18.4 ns 4
stringa copy{str_with_len_N};/256_stddev 0.154 ns 0.342 ns 4
stringa copy{str_with_len_N};/256_cv 0.82 % 1.86 % 4
stringa copy{str_with_len_N};/512_mean 19.1 ns 18.9 ns 4
stringa copy{str_with_len_N};/512_median 18.7 ns 18.8 ns 4
stringa copy{str_with_len_N};/512_stddev 0.790 ns 0.527 ns 4
stringa copy{str_with_len_N};/512_cv 4.14 % 2.78 % 4
stringa copy{str_with_len_N};/1024_mean 18.7 ns 18.5 ns 4
stringa copy{str_with_len_N};/1024_median 18.7 ns 18.4 ns 4
stringa copy{str_with_len_N};/1024_stddev 0.105 ns 0.209 ns 4
stringa copy{str_with_len_N};/1024_cv 0.56 % 1.13 % 4
stringa copy{str_with_len_N};/2048_mean 18.7 ns 18.6 ns 4
stringa copy{str_with_len_N};/2048_median 18.7 ns 18.6 ns 4
stringa copy{str_with_len_N};/2048_stddev 0.170 ns 0.242 ns 4
stringa copy{str_with_len_N};/2048_cv 0.91 % 1.30 % 4
stringa copy{str_with_len_N};/4096_mean 18.7 ns 18.7 ns 4
stringa copy{str_with_len_N};/4096_median 18.7 ns 18.8 ns 4
stringa copy{str_with_len_N};/4096_stddev 0.084 ns 0.192 ns 4
stringa copy{str_with_len_N};/4096_cv 0.45 % 1.03 % 4
lstringa<16> copy{str_with_len_N};/15_mean 4.06 ns 4.06 ns 4
lstringa<16> copy{str_with_len_N};/15_median 4.05 ns 4.04 ns 4
lstringa<16> copy{str_with_len_N};/15_stddev 0.063 ns 0.087 ns 4
lstringa<16> copy{str_with_len_N};/15_cv 1.55 % 2.14 % 4
lstringa<16> copy{str_with_len_N};/16_mean 8.48 ns 8.46 ns 4
lstringa<16> copy{str_with_len_N};/16_median 8.49 ns 8.46 ns 4
lstringa<16> copy{str_with_len_N};/16_stddev 0.137 ns 0.101 ns 4
lstringa<16> copy{str_with_len_N};/16_cv 1.61 % 1.19 % 4
lstringa<16> copy{str_with_len_N};/23_mean 8.54 ns 8.50 ns 4
lstringa<16> copy{str_with_len_N};/23_median 8.56 ns 8.54 ns 4
lstringa<16> copy{str_with_len_N};/23_stddev 0.063 ns 0.087 ns 4
lstringa<16> copy{str_with_len_N};/23_cv 0.73 % 1.03 % 4
lstringa<16> copy{str_with_len_N};/24_mean 81.2 ns 81.1 ns 4
lstringa<16> copy{str_with_len_N};/24_median 80.9 ns 81.1 ns 4
lstringa<16> copy{str_with_len_N};/24_stddev 2.04 ns 2.25 ns 4
lstringa<16> copy{str_with_len_N};/24_cv 2.51 % 2.78 % 4
lstringa<16> copy{str_with_len_N};/32_mean 84.1 ns 84.1 ns 4
lstringa<16> copy{str_with_len_N};/32_median 84.2 ns 83.7 ns 4
lstringa<16> copy{str_with_len_N};/32_stddev 0.339 ns 0.872 ns 4
lstringa<16> copy{str_with_len_N};/32_cv 0.40 % 1.04 % 4
lstringa<16> copy{str_with_len_N};/64_mean 82.4 ns 82.1 ns 4
lstringa<16> copy{str_with_len_N};/64_median 82.3 ns 81.6 ns 4
lstringa<16> copy{str_with_len_N};/64_stddev 1.06 ns 1.05 ns 4
lstringa<16> copy{str_with_len_N};/64_cv 1.29 % 1.27 % 4
lstringa<16> copy{str_with_len_N};/128_mean 85.6 ns 85.4 ns 4
lstringa<16> copy{str_with_len_N};/128_median 85.4 ns 85.4 ns 4
lstringa<16> copy{str_with_len_N};/128_stddev 1.42 ns 1.42 ns 4
lstringa<16> copy{str_with_len_N};/128_cv 1.66 % 1.67 % 4
lstringa<16> copy{str_with_len_N};/256_mean 87.1 ns 86.8 ns 4
lstringa<16> copy{str_with_len_N};/256_median 87.3 ns 85.8 ns 4
lstringa<16> copy{str_with_len_N};/256_stddev 1.57 ns 2.09 ns 4
lstringa<16> copy{str_with_len_N};/256_cv 1.80 % 2.41 % 4
lstringa<16> copy{str_with_len_N};/512_mean 90.7 ns 90.0 ns 4
lstringa<16> copy{str_with_len_N};/512_median 91.2 ns 90.0 ns 4
lstringa<16> copy{str_with_len_N};/512_stddev 1.60 ns 1.71 ns 4
lstringa<16> copy{str_with_len_N};/512_cv 1.77 % 1.90 % 4
lstringa<16> copy{str_with_len_N};/1024_mean 101 ns 101 ns 4
lstringa<16> copy{str_with_len_N};/1024_median 100 ns 100 ns 4
lstringa<16> copy{str_with_len_N};/1024_stddev 5.75 ns 6.21 ns 4
lstringa<16> copy{str_with_len_N};/1024_cv 5.68 % 6.14 % 4
lstringa<16> copy{str_with_len_N};/2048_mean 135 ns 133 ns 4
lstringa<16> copy{str_with_len_N};/2048_median 136 ns 133 ns 4
lstringa<16> copy{str_with_len_N};/2048_stddev 5.54 ns 3.60 ns 4
lstringa<16> copy{str_with_len_N};/2048_cv 4.11 % 2.72 % 4
lstringa<16> copy{str_with_len_N};/4096_mean 196 ns 195 ns 4
lstringa<16> copy{str_with_len_N};/4096_median 196 ns 195 ns 4
lstringa<16> copy{str_with_len_N};/4096_stddev 2.72 ns 2.42 ns 4
lstringa<16> copy{str_with_len_N};/4096_cv 1.39 % 1.24 % 4
lstringa<512> copy{str_with_len_N};/15_mean 4.46 ns 4.45 ns 4
lstringa<512> copy{str_with_len_N};/15_median 4.47 ns 4.45 ns 4
lstringa<512> copy{str_with_len_N};/15_stddev 0.048 ns 0.083 ns 4
lstringa<512> copy{str_with_len_N};/15_cv 1.08 % 1.86 % 4
lstringa<512> copy{str_with_len_N};/16_mean 8.96 ns 8.89 ns 4
lstringa<512> copy{str_with_len_N};/16_median 9.02 ns 8.89 ns 4
lstringa<512> copy{str_with_len_N};/16_stddev 0.201 ns 0.121 ns 4
lstringa<512> copy{str_with_len_N};/16_cv 2.24 % 1.36 % 4
lstringa<512> copy{str_with_len_N};/23_mean 8.92 ns 8.89 ns 4
lstringa<512> copy{str_with_len_N};/23_median 8.89 ns 8.89 ns 4
lstringa<512> copy{str_with_len_N};/23_stddev 0.096 ns 0.121 ns 4
lstringa<512> copy{str_with_len_N};/23_cv 1.08 % 1.36 % 4
lstringa<512> copy{str_with_len_N};/24_mean 9.07 ns 9.00 ns 4
lstringa<512> copy{str_with_len_N};/24_median 9.14 ns 9.00 ns 4
lstringa<512> copy{str_with_len_N};/24_stddev 0.274 ns 0.342 ns 4
lstringa<512> copy{str_with_len_N};/24_cv 3.02 % 3.80 % 4
lstringa<512> copy{str_with_len_N};/32_mean 12.6 ns 12.6 ns 4
lstringa<512> copy{str_with_len_N};/32_median 12.6 ns 12.7 ns 4
lstringa<512> copy{str_with_len_N};/32_stddev 0.121 ns 0.267 ns 4
lstringa<512> copy{str_with_len_N};/32_cv 0.96 % 2.12 % 4
lstringa<512> copy{str_with_len_N};/64_mean 12.5 ns 12.6 ns 4
lstringa<512> copy{str_with_len_N};/64_median 12.5 ns 12.6 ns 4
lstringa<512> copy{str_with_len_N};/64_stddev 0.075 ns 0.000 ns 4
lstringa<512> copy{str_with_len_N};/64_cv 0.60 % 0.00 % 4
lstringa<512> copy{str_with_len_N};/128_mean 12.9 ns 12.9 ns 4
lstringa<512> copy{str_with_len_N};/128_median 12.9 ns 12.8 ns 4
lstringa<512> copy{str_with_len_N};/128_stddev 0.117 ns 0.140 ns 4
lstringa<512> copy{str_with_len_N};/128_cv 0.91 % 1.08 % 4
lstringa<512> copy{str_with_len_N};/256_mean 14.0 ns 14.0 ns 4
lstringa<512> copy{str_with_len_N};/256_median 14.0 ns 14.0 ns 4
lstringa<512> copy{str_with_len_N};/256_stddev 0.180 ns 0.140 ns 4
lstringa<512> copy{str_with_len_N};/256_cv 1.28 % 1.00 % 4
lstringa<512> copy{str_with_len_N};/512_mean 15.7 ns 15.6 ns 4
lstringa<512> copy{str_with_len_N};/512_median 15.6 ns 15.3 ns 4
lstringa<512> copy{str_with_len_N};/512_stddev 0.330 ns 0.575 ns 4
lstringa<512> copy{str_with_len_N};/512_cv 2.10 % 3.68 % 4
lstringa<512> copy{str_with_len_N};/1024_mean 95.0 ns 95.2 ns 4
lstringa<512> copy{str_with_len_N};/1024_median 94.7 ns 95.2 ns 4
lstringa<512> copy{str_with_len_N};/1024_stddev 1.84 ns 2.70 ns 4
lstringa<512> copy{str_with_len_N};/1024_cv 1.93 % 2.84 % 4
lstringa<512> copy{str_with_len_N};/2048_mean 128 ns 127 ns 4
lstringa<512> copy{str_with_len_N};/2048_median 128 ns 127 ns 4
lstringa<512> copy{str_with_len_N};/2048_stddev 3.74 ns 4.83 ns 4
lstringa<512> copy{str_with_len_N};/2048_cv 2.93 % 3.81 % 4
lstringa<512> copy{str_with_len_N};/4096_mean 193 ns 194 ns 4
lstringa<512> copy{str_with_len_N};/4096_median 193 ns 193 ns 4
lstringa<512> copy{str_with_len_N};/4096_stddev 1.56 ns 2.09 ns 4
lstringa<512> copy{str_with_len_N};/4096_cv 0.81 % 1.08 % 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 31.9 ns 31.9 ns 4
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_median 31.9 ns 31.7 ns 4
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_stddev 0.552 ns 0.668 ns 4
std::string s = "123456789"; int res = std::strtol(s.c_str(), 0, 10);_cv 1.73 % 2.09 % 4
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_mean 11.8 ns 11.8 ns 4
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_median 11.8 ns 11.7 ns 4
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_stddev 0.239 ns 0.140 ns 4
std::string_view s = "123456789"; std::from_chars(s.data(), s.data() + s.size(), res, 10);_cv 2.02 % 1.18 % 4
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 16.8 ns 16.7 ns 4
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_median 16.8 ns 16.7 ns 4
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.164 ns 0.222 ns 4
stringa s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 0.98 % 1.33 % 4
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 15.6 ns 15.5 ns 4
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_median 15.5 ns 15.5 ns 4
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.378 ns 0.201 ns 4
ssa s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 2.43 % 1.30 % 4
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_mean 14.8 ns 14.6 ns 4
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_median 14.8 ns 14.6 ns 4
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_stddev 0.360 ns 0.174 ns 4
lstringa<20> s = "123456789"; int res = s.to_int<int, true, 10, false>_cv 2.43 % 1.20 % 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 35.5 ns 35.5 ns 4
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_median 35.4 ns 35.7 ns 4
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_stddev 0.552 ns 0.768 ns 4
std::string s = "abcDef"; int res = std::strtol(s.c_str(), 0, 16);_cv 1.55 % 2.16 % 4
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_mean 8.96 ns 9.00 ns 4
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_median 8.95 ns 9.00 ns 4
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_stddev 0.173 ns 0.242 ns 4
std::string_view s = "abcDef"; std::from_chars(s.data(), s.data() + s.size(), res, 16);_cv 1.93 % 2.69 % 4
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 14.5 ns 14.5 ns 4
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 14.5 ns 14.6 ns 4
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.173 ns 0.301 ns 4
stringa s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 1.20 % 2.07 % 4
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 13.3 ns 13.3 ns 4
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 13.4 ns 13.3 ns 4
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.191 ns 0.267 ns 4
ssa s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 1.43 % 2.01 % 4
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_mean 12.7 ns 12.6 ns 4
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_median 12.6 ns 12.6 ns 4
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_stddev 0.165 ns 0.140 ns 4
lstringa<20> s = "abcDef"; int res = s.to_int<int, true, 16, false>_cv 1.30 % 1.10 % 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 45.6 ns 45.3 ns 4
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_median 45.6 ns 45.5 ns 4
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_stddev 0.831 ns 1.00 ns 4
std::string s = " 123456789"; int res = std::strtol(s.c_str(), 0, 0);_cv 1.82 % 2.21 % 4
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_mean 22.4 ns 22.2 ns 4
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_median 22.4 ns 22.2 ns 4
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_stddev 0.187 ns 0.302 ns 4
stringa s = " 123456789"; int res = s.to_int<int>; // Check overflow_cv 0.84 % 1.36 % 4
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_mean 19.1 ns 19.1 ns 4
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_median 19.1 ns 19.3 ns 4
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_stddev 0.164 ns 0.209 ns 4
ssa s = " 123456789"; int res = s.to_int<int, false>; // No check overflow_cv 0.86 % 1.09 % 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 103 ns 103 ns 4
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_median 103 ns 103 ns 4
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_stddev 0.220 ns 0.000 ns 4
std::string s = "1234.567e10"; double res = std::strtod(s.c_str(), nullptr);_cv 0.21 % 0.00 % 4
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_mean 82.7 ns 82.0 ns 4
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_median 83.0 ns 82.0 ns 4
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_stddev 1.72 ns 2.01 ns 4
std::string_view s = "1234.567e10"; std::from_chars(s.data(), s.data() + s.size(), res);_cv 2.08 % 2.46 % 4
ssa s = "1234.567e10"; double res = *s.to_double()_mean 37.7 ns 37.8 ns 4
ssa s = "1234.567e10"; double res = *s.to_double()_median 37.7 ns 37.6 ns 4
ssa s = "1234.567e10"; double res = *s.to_double()_stddev 0.248 ns 0.384 ns 4
ssa s = "1234.567e10"; double res = *s.to_double()_cv 0.66 % 1.02 % 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 5722 ns 5685 ns 4
std::stringstream str; ... str << "abbaabbaabbaabba";_median 5712 ns 5650 ns 4
std::stringstream str; ... str << "abbaabbaabbaabba";_stddev 62.9 ns 134 ns 4
std::stringstream str; ... str << "abbaabbaabbaabba";_cv 1.10 % 2.35 % 4
std::string str; ... str += "abbaabbaabbaabba";_mean 1306 ns 1295 ns 4
std::string str; ... str += "abbaabbaabbaabba";_median 1306 ns 1303 ns 4
std::string str; ... str += "abbaabbaabbaabba";_stddev 20.8 ns 30.1 ns 4
std::string str; ... str += "abbaabbaabbaabba";_cv 1.60 % 2.32 % 4
lstringa<8> str; ... str += "abbaabbaabbaabba";_mean 914 ns 905 ns 4
lstringa<8> str; ... str += "abbaabbaabbaabba";_median 917 ns 910 ns 4
lstringa<8> str; ... str += "abbaabbaabbaabba";_stddev 13.5 ns 20.0 ns 4
lstringa<8> str; ... str += "abbaabbaabbaabba";_cv 1.48 % 2.21 % 4
lstringa<128> str; ... str += "abbaabbaabbaabba";_mean 542 ns 539 ns 4
lstringa<128> str; ... str += "abbaabbaabbaabba";_median 537 ns 539 ns 4
lstringa<128> str; ... str += "abbaabbaabbaabba";_stddev 12.9 ns 9.02 ns 4
lstringa<128> str; ... str += "abbaabbaabbaabba";_cv 2.38 % 1.67 % 4
lstringa<512> str; ... str += "abbaabbaabbaabba";_mean 364 ns 361 ns 4
lstringa<512> str; ... str += "abbaabbaabbaabba";_median 366 ns 361 ns 4
lstringa<512> str; ... str += "abbaabbaabbaabba";_stddev 6.93 ns 6.26 ns 4
lstringa<512> str; ... str += "abbaabbaabbaabba";_cv 1.90 % 1.74 % 4
lstringa<1024> str; ... str += "abbaabbaabbaabba";_mean 230 ns 229 ns 4
lstringa<1024> str; ... str += "abbaabbaabbaabba";_median 231 ns 229 ns 4
lstringa<1024> str; ... str += "abbaabbaabbaabba";_stddev 5.37 ns 3.99 ns 4
lstringa<1024> str; ... str += "abbaabbaabbaabba";_cv 2.34 % 1.74 % 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 5665 ns 5580 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_median 5665 ns 5580 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_stddev 178 ns 255 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba";_cv 3.15 % 4.56 % 4
std::string str; ... str += str_var + "abbaabbaabbaabba";_mean 3902 ns 3902 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba";_median 3908 ns 3880 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba";_stddev 74.9 ns 83.5 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba";_cv 1.92 % 2.14 % 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_mean 822 ns 820 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_median 822 ns 820 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_stddev 13.8 ns 20.1 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba";_cv 1.68 % 2.46 % 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_mean 535 ns 535 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_median 535 ns 531 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_stddev 10.9 ns 7.81 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba";_cv 2.03 % 1.46 % 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_mean 377 ns 377 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_median 376 ns 377 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_stddev 5.35 ns 6.83 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba";_cv 1.42 % 1.81 % 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_mean 286 ns 285 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_median 285 ns 285 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_stddev 3.20 ns 5.41 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba";_cv 1.12 % 1.90 % 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 295560 ns 295048 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_median 291197 ns 288771 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_stddev 13899 ns 17000 ns 4
std::stringstream str; ... str << str_var << "abbaabbaabbaabba"; 2048 times_cv 4.70 % 5.76 % 4
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 199734 ns 194972 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 200341 ns 194972 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 4028 ns 3702 ns 4
std::string str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 2.02 % 1.90 % 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 25221 ns 25251 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 25305 ns 25391 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 392 ns 534 ns 4
lstringa<8> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 1.55 % 2.12 % 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 23191 ns 23123 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 23387 ns 23350 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 674 ns 641 ns 4
lstringa<128> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 2.90 % 2.77 % 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 21887 ns 21711 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 21799 ns 21711 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 298 ns 302 ns 4
lstringa<512> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 1.36 % 1.39 % 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_mean 22577 ns 22496 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_median 22602 ns 22496 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_stddev 279 ns 0.000 ns 4
lstringa<1024> str; ... str += str_var + "abbaabbaabbaabba"; 2048 times_cv 1.24 % 0.00 % 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 5538 ns 5547 ns 4
std::stringstream str; ... str << str_var1 << str_var2;_median 5547 ns 5547 ns 4
std::stringstream str; ... str << str_var1 << str_var2;_stddev 115 ns 90.2 ns 4
std::stringstream str; ... str << str_var1 << str_var2;_cv 2.08 % 1.63 % 4
std::string str; ... str += str_var1 + str_var2;_mean 4019 ns 4013 ns 4
std::string str; ... str += str_var1 + str_var2;_median 4019 ns 3990 ns 4
std::string str; ... str += str_var1 + str_var2;_stddev 40.6 ns 45.3 ns 4
std::string str; ... str += str_var1 + str_var2;_cv 1.01 % 1.13 % 4
lstringa<16> str; ... str += str_var1 + str_var2;_mean 900 ns 902 ns 4
lstringa<16> str; ... str += str_var1 + str_var2;_median 900 ns 907 ns 4
lstringa<16> str; ... str += str_var1 + str_var2;_stddev 17.6 ns 8.72 ns 4
lstringa<16> str; ... str += str_var1 + str_var2;_cv 1.95 % 0.97 % 4
lstringa<128> str; ... str += str_var1 + str_var2;_mean 641 ns 638 ns 4
lstringa<128> str; ... str += str_var1 + str_var2;_median 644 ns 642 ns 4
lstringa<128> str; ... str += str_var1 + str_var2;_stddev 8.08 ns 6.98 ns 4
lstringa<128> str; ... str += str_var1 + str_var2;_cv 1.26 % 1.09 % 4
lstringa<512> str; ... str += str_var1 + str_var2;_mean 482 ns 476 ns 4
lstringa<512> str; ... str += str_var1 + str_var2;_median 478 ns 476 ns 4
lstringa<512> str; ... str += str_var1 + str_var2;_stddev 8.41 ns 8.83 ns 4
lstringa<512> str; ... str += str_var1 + str_var2;_cv 1.75 % 1.86 % 4
lstringa<1024> str; ... str += str_var1 + str_var2;_mean 365 ns 365 ns 4
lstringa<1024> str; ... str += str_var1 + str_var2;_median 366 ns 365 ns 4
lstringa<1024> str; ... str += str_var1 + str_var2;_stddev 5.82 ns 4.63 ns 4
lstringa<1024> str; ... str += str_var1 + str_var2;_cv 1.59 % 1.27 % 4
-- Append text, number, text --/repeats:1 0.000 ns 0.000 ns 1000000000000
std::stringstream str; str << "test = " << k << " times";_mean 11725 ns 11719 ns 4
std::stringstream str; str << "test = " << k << " times";_median 11720 ns 11719 ns 4
std::stringstream str; str << "test = " << k << " times";_stddev 134 ns 199 ns 4
std::stringstream str; str << "test = " << k << " times";_cv 1.14 % 1.70 % 4
std::string str = "test = " + std::to_string(k) + " times";_mean 1226 ns 1228 ns 4
std::string str = "test = " + std::to_string(k) + " times";_median 1223 ns 1228 ns 4
std::string str = "test = " + std::to_string(k) + " times";_stddev 27.1 ns 32.2 ns 4
std::string str = "test = " + std::to_string(k) + " times";_cv 2.21 % 2.62 % 4
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_mean 2815 ns 2802 ns 4
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_median 2819 ns 2787 ns 4
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_stddev 70.6 ns 74.6 ns 4
char buf[100]; sprintf(buf, "test = %u times", k); std::string str = buf;_cv 2.51 % 2.66 % 4
std::string str = std::format("test = {} times", k);_mean 2391 ns 2367 ns 4
std::string str = std::format("test = {} times", k);_median 2379 ns 2354 ns 4
std::string str = std::format("test = {} times", k);_stddev 26.5 ns 65.8 ns 4
std::string str = std::format("test = {} times", k);_cv 1.11 % 2.78 % 4
lstringa<8> str; str.format("test = {} times", k);_mean 2677 ns 2653 ns 4
lstringa<8> str; str.format("test = {} times", k);_median 2681 ns 2668 ns 4
lstringa<8> str; str.format("test = {} times", k);_stddev 35.4 ns 88.9 ns 4
lstringa<8> str; str.format("test = {} times", k);_cv 1.32 % 3.35 % 4
lstringa<32> str; str.format("test = {} times", k);_mean 1480 ns 1483 ns 4
lstringa<32> str; str.format("test = {} times", k);_median 1477 ns 1475 ns 4
lstringa<32> str; str.format("test = {} times", k);_stddev 14.2 ns 15.7 ns 4
lstringa<32> str; str.format("test = {} times", k);_cv 0.96 % 1.06 % 4
lstringa<8> str = "test = " + k + " times";_mean 890 ns 889 ns 4
lstringa<8> str = "test = " + k + " times";_median 891 ns 889 ns 4
lstringa<8> str = "test = " + k + " times";_stddev 14.0 ns 14.2 ns 4
lstringa<8> str = "test = " + k + " times";_cv 1.58 % 1.60 % 4
lstringa<32> str = "test = " + k + " times";_mean 180 ns 179 ns 4
lstringa<32> str = "test = " + k + " times";_median 180 ns 180 ns 4
lstringa<32> str = "test = " + k + " times";_stddev 3.64 ns 4.83 ns 4
lstringa<32> str = "test = " + k + " times";_cv 2.02 % 2.69 % 4
stringa str = "test = " + k + " times";_mean 172 ns 170 ns 4
stringa str = "test = " + k + " times";_median 172 ns 170 ns 4
stringa str = "test = " + k + " times";_stddev 2.25 ns 2.42 ns 4
stringa str = "test = " + k + " times";_cv 1.31 % 1.43 % 4
-- Split text and convert to int --/repeats:1 0.000 ns 0.000 ns 1000000000000
std::string::find + substr + std::strtol_mean 573 ns 570 ns 4
std::string::find + substr + std::strtol_median 566 ns 570 ns 4
std::string::find + substr + std::strtol_stddev 23.5 ns 32.5 ns 4
std::string::find + substr + std::strtol_cv 4.09 % 5.70 % 4
ssa::splitter + ssa::as_int_mean 304 ns 303 ns 4
ssa::splitter + ssa::as_int_median 304 ns 303 ns 4
ssa::splitter + ssa::as_int_stddev 5.71 ns 9.01 ns 4
ssa::splitter + ssa::as_int_cv 1.88 % 2.97 % 4
ssa::splitf + functor_mean 218 ns 216 ns 4
ssa::splitf + functor_median 218 ns 215 ns 4
ssa::splitf + functor_stddev 4.32 ns 6.14 ns 4
ssa::splitf + functor_cv 1.98 % 2.84 % 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 1206 ns 1207 ns 4
Naive (and wrong) replace symbols with std::string find + replace_median 1198 ns 1200 ns 4
Naive (and wrong) replace symbols with std::string find + replace_stddev 33.2 ns 35.1 ns 4
Naive (and wrong) replace symbols with std::string find + replace_cv 2.76 % 2.91 % 4
replace symbols with std::string find_first_of + replace_mean 2200 ns 2197 ns 4
replace symbols with std::string find_first_of + replace_median 2200 ns 2197 ns 4
replace symbols with std::string find_first_of + replace_stddev 7.02 ns 0.000 ns 4
replace symbols with std::string find_first_of + replace_cv 0.32 % 0.00 % 4
replace symbols with std::string_view find_first_of + copy_mean 2544 ns 2520 ns 4
replace symbols with std::string_view find_first_of + copy_median 2549 ns 2520 ns 4
replace symbols with std::string_view find_first_of + copy_stddev 15.3 ns 76.5 ns 4
replace symbols with std::string_view find_first_of + copy_cv 0.60 % 3.04 % 4
replace runtime symbols with string expressions and without remembering all search results_mean 1663 ns 1659 ns 4
replace runtime symbols with string expressions and without remembering all search results_median 1668 ns 1650 ns 4
replace runtime symbols with string expressions and without remembering all search results_stddev 23.0 ns 19.2 ns 4
replace runtime symbols with string expressions and without remembering all search results_cv 1.38 % 1.16 % 4
replace runtime symbols with simstr and memorization of all search results_mean 1442 ns 1444 ns 4
replace runtime symbols with simstr and memorization of all search results_median 1435 ns 1444 ns 4
replace runtime symbols with simstr and memorization of all search results_stddev 18.5 ns 25.6 ns 4
replace runtime symbols with simstr and memorization of all search results_cv 1.28 % 1.77 % 4
replace const symbols with string expressions and without remembering all search results_mean 1293 ns 1283 ns 4
replace const symbols with string expressions and without remembering all search results_median 1299 ns 1283 ns 4
replace const symbols with string expressions and without remembering all search results_stddev 18.4 ns 22.8 ns 4
replace const symbols with string expressions and without remembering all search results_cv 1.43 % 1.77 % 4
replace const symbols with string expressions and memorization of all search results_mean 1213 ns 1214 ns 4
replace const symbols with string expressions and memorization of all search results_median 1201 ns 1200 ns 4
replace const symbols with string expressions and memorization of all search results_stddev 28.8 ns 27.9 ns 4
replace const symbols with string expressions and memorization of all search results_cv 2.37 % 2.30 % 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 328 ns 324 ns 4
Short Naive (and wrong) replace symbols with std::string find + replace_median 331 ns 326 ns 4
Short Naive (and wrong) replace symbols with std::string find + replace_stddev 6.41 ns 7.01 ns 4
Short Naive (and wrong) replace symbols with std::string find + replace_cv 1.95 % 2.16 % 4
Short replace symbols with std::string find_first_of + replace_mean 420 ns 422 ns 4
Short replace symbols with std::string find_first_of + replace_median 417 ns 422 ns 4
Short replace symbols with std::string find_first_of + replace_stddev 5.55 ns 11.7 ns 4
Short replace symbols with std::string find_first_of + replace_cv 1.32 % 2.78 % 4
Short replace symbols with std::string_view find_first_of + copy_mean 333 ns 332 ns 4
Short replace symbols with std::string_view find_first_of + copy_median 333 ns 330 ns 4
Short replace symbols with std::string_view find_first_of + copy_stddev 3.60 ns 3.84 ns 4
Short replace symbols with std::string_view find_first_of + copy_cv 1.08 % 1.16 % 4
Short replace runtime symbols with string expressions and without remembering all search results_mean 310 ns 308 ns 4
Short replace runtime symbols with string expressions and without remembering all search results_median 309 ns 308 ns 4
Short replace runtime symbols with string expressions and without remembering all search results_stddev 3.87 ns 3.83 ns 4
Short replace runtime symbols with string expressions and without remembering all search results_cv 1.25 % 1.24 % 4
Short replace runtime symbols with simstr and memorization of all search results_mean 401 ns 399 ns 4
Short replace runtime symbols with simstr and memorization of all search results_median 399 ns 397 ns 4
Short replace runtime symbols with simstr and memorization of all search results_stddev 9.40 ns 8.35 ns 4
Short replace runtime symbols with simstr and memorization of all search results_cv 2.35 % 2.09 % 4
Short replace const symbols with string expressions and without remembering all search results_mean 254 ns 254 ns 4
Short replace const symbols with string expressions and without remembering all search results_median 252 ns 251 ns 4
Short replace const symbols with string expressions and without remembering all search results_stddev 6.10 ns 9.06 ns 4
Short replace const symbols with string expressions and without remembering all search results_cv 2.40 % 3.57 % 4
Short replace const symbols with string expressions and memorization of all search results_mean 334 ns 335 ns 4
Short replace const symbols with string expressions and memorization of all search results_median 333 ns 337 ns 4
Short replace const symbols with string expressions and memorization of all search results_stddev 2.88 ns 3.66 ns 4
Short replace const symbols with string expressions and memorization of all search results_cv 0.86 % 1.09 % 4
----- Replace All Str To Longer Size ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
replace bb to ---- in std::string|64_mean 242 ns 243 ns 4
replace bb to ---- in std::string|64_median 242 ns 243 ns 4
replace bb to ---- in std::string|64_stddev 2.02 ns 0.000 ns 4
replace bb to ---- in std::string|64_cv 0.83 % 0.00 % 4
replace bb to ---- in std::string|256_mean 791 ns 793 ns 4
replace bb to ---- in std::string|256_median 792 ns 793 ns 4
replace bb to ---- in std::string|256_stddev 10.1 ns 10.1 ns 4
replace bb to ---- in std::string|256_cv 1.27 % 1.27 % 4
replace bb to ---- in std::string|512_mean 1464 ns 1460 ns 4
replace bb to ---- in std::string|512_median 1469 ns 1460 ns 4
replace bb to ---- in std::string|512_stddev 13.2 ns 18.1 ns 4
replace bb to ---- in std::string|512_cv 0.90 % 1.24 % 4
replace bb to ---- in std::string|1024_mean 3204 ns 3209 ns 4
replace bb to ---- in std::string|1024_median 3216 ns 3209 ns 4
replace bb to ---- in std::string|1024_stddev 60.8 ns 57.0 ns 4
replace bb to ---- in std::string|1024_cv 1.90 % 1.77 % 4
replace bb to ---- in std::string|2048_mean 8080 ns 8057 ns 4
replace bb to ---- in std::string|2048_median 8073 ns 8057 ns 4
replace bb to ---- in std::string|2048_stddev 177 ns 270 ns 4
replace bb to ---- in std::string|2048_cv 2.19 % 3.35 % 4
replace bb to ---- in lstringa<8>|64_mean 225 ns 224 ns 4
replace bb to ---- in lstringa<8>|64_median 224 ns 220 ns 4
replace bb to ---- in lstringa<8>|64_stddev 7.34 ns 7.85 ns 4
replace bb to ---- in lstringa<8>|64_cv 3.26 % 3.51 % 4
replace bb to ---- in lstringa<8>|256_mean 655 ns 649 ns 4
replace bb to ---- in lstringa<8>|256_median 653 ns 649 ns 4
replace bb to ---- in lstringa<8>|256_stddev 10.5 ns 8.05 ns 4
replace bb to ---- in lstringa<8>|256_cv 1.60 % 1.24 % 4
replace bb to ---- in lstringa<8>|512_mean 1124 ns 1123 ns 4
replace bb to ---- in lstringa<8>|512_median 1124 ns 1123 ns 4
replace bb to ---- in lstringa<8>|512_stddev 20.7 ns 19.9 ns 4
replace bb to ---- in lstringa<8>|512_cv 1.85 % 1.77 % 4
replace bb to ---- in lstringa<8>|1024_mean 2038 ns 2040 ns 4
replace bb to ---- in lstringa<8>|1024_median 2043 ns 2063 ns 4
replace bb to ---- in lstringa<8>|1024_stddev 39.0 ns 64.1 ns 4
replace bb to ---- in lstringa<8>|1024_cv 1.91 % 3.14 % 4
replace bb to ---- in lstringa<8>|2048_mean 3964 ns 3899 ns 4
replace bb to ---- in lstringa<8>|2048_median 3929 ns 3899 ns 4
replace bb to ---- in lstringa<8>|2048_stddev 127 ns 74.0 ns 4
replace bb to ---- in lstringa<8>|2048_cv 3.21 % 1.90 % 4
replace bb to ---- by init stringa|64_mean 196 ns 196 ns 4
replace bb to ---- by init stringa|64_median 198 ns 197 ns 4
replace bb to ---- by init stringa|64_stddev 4.79 ns 5.27 ns 4
replace bb to ---- by init stringa|64_cv 2.44 % 2.69 % 4
replace bb to ---- by init stringa|256_mean 456 ns 453 ns 4
replace bb to ---- by init stringa|256_median 454 ns 455 ns 4
replace bb to ---- by init stringa|256_stddev 12.3 ns 10.0 ns 4
replace bb to ---- by init stringa|256_cv 2.71 % 2.21 % 4
replace bb to ---- by init stringa|512_mean 1064 ns 1057 ns 4
replace bb to ---- by init stringa|512_median 1056 ns 1057 ns 4
replace bb to ---- by init stringa|512_stddev 18.6 ns 12.1 ns 4
replace bb to ---- by init stringa|512_cv 1.75 % 1.14 % 4
replace bb to ---- by init stringa|1024_mean 2161 ns 2148 ns 4
replace bb to ---- by init stringa|1024_median 2146 ns 2148 ns 4
replace bb to ---- by init stringa|1024_stddev 37.6 ns 0.000 ns 4
replace bb to ---- by init stringa|1024_cv 1.74 % 0.00 % 4
replace bb to ---- by init stringa|2048_mean 4481 ns 4476 ns 4
replace bb to ---- by init stringa|2048_median 4468 ns 4501 ns 4
replace bb to ---- by init stringa|2048_stddev 83.1 ns 96.8 ns 4
replace bb to ---- by init stringa|2048_cv 1.86 % 2.16 % 4
----- Replace All Str To Same Size ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
replace bb to -- in std::string|64_mean 198 ns 198 ns 4
replace bb to -- in std::string|64_median 196 ns 195 ns 4
replace bb to -- in std::string|64_stddev 7.58 ns 9.35 ns 4
replace bb to -- in std::string|64_cv 3.84 % 4.73 % 4
replace bb to -- in std::string|256_mean 520 ns 520 ns 4
replace bb to -- in std::string|256_median 517 ns 516 ns 4
replace bb to -- in std::string|256_stddev 13.7 ns 17.6 ns 4
replace bb to -- in std::string|256_cv 2.64 % 3.38 % 4
replace bb to -- in std::string|512_mean 928 ns 921 ns 4
replace bb to -- in std::string|512_median 924 ns 921 ns 4
replace bb to -- in std::string|512_stddev 14.1 ns 17.1 ns 4
replace bb to -- in std::string|512_cv 1.52 % 1.86 % 4
replace bb to -- in std::string|1024_mean 1750 ns 1755 ns 4
replace bb to -- in std::string|1024_median 1751 ns 1746 ns 4
replace bb to -- in std::string|1024_stddev 33.9 ns 36.7 ns 4
replace bb to -- in std::string|1024_cv 1.94 % 2.09 % 4
replace bb to -- in std::string|2048_mean 3402 ns 3395 ns 4
replace bb to -- in std::string|2048_median 3388 ns 3376 ns 4
replace bb to -- in std::string|2048_stddev 44.1 ns 38.4 ns 4
replace bb to -- in std::string|2048_cv 1.30 % 1.13 % 4
replace bb to -- in lstringa<8>|64_mean 186 ns 185 ns 4
replace bb to -- in lstringa<8>|64_median 185 ns 184 ns 4
replace bb to -- in lstringa<8>|64_stddev 2.11 ns 5.27 ns 4
replace bb to -- in lstringa<8>|64_cv 1.13 % 2.84 % 4
replace bb to -- in lstringa<8>|256_mean 442 ns 432 ns 4
replace bb to -- in lstringa<8>|256_median 442 ns 435 ns 4
replace bb to -- in lstringa<8>|256_stddev 4.20 ns 9.35 ns 4
replace bb to -- in lstringa<8>|256_cv 0.95 % 2.16 % 4
replace bb to -- in lstringa<8>|512_mean 771 ns 767 ns 4
replace bb to -- in lstringa<8>|512_median 772 ns 767 ns 4
replace bb to -- in lstringa<8>|512_stddev 8.00 ns 14.2 ns 4
replace bb to -- in lstringa<8>|512_cv 1.04 % 1.86 % 4
replace bb to -- in lstringa<8>|1024_mean 1457 ns 1456 ns 4
replace bb to -- in lstringa<8>|1024_median 1454 ns 1465 ns 4
replace bb to -- in lstringa<8>|1024_stddev 11.9 ns 17.4 ns 4
replace bb to -- in lstringa<8>|1024_cv 0.82 % 1.20 % 4
replace bb to -- in lstringa<8>|2048_mean 2800 ns 2802 ns 4
replace bb to -- in lstringa<8>|2048_median 2804 ns 2816 ns 4
replace bb to -- in lstringa<8>|2048_stddev 36.9 ns 56.8 ns 4
replace bb to -- in lstringa<8>|2048_cv 1.32 % 2.03 % 4
replace bb to -- by init stringa|64_mean 165 ns 163 ns 4
replace bb to -- by init stringa|64_median 164 ns 164 ns 4
replace bb to -- by init stringa|64_stddev 0.342 ns 1.74 ns 4
replace bb to -- by init stringa|64_cv 0.21 % 1.07 % 4
replace bb to -- by init stringa|256_mean 367 ns 366 ns 4
replace bb to -- by init stringa|256_median 369 ns 368 ns 4
replace bb to -- by init stringa|256_stddev 3.87 ns 4.19 ns 4
replace bb to -- by init stringa|256_cv 1.05 % 1.14 % 4
replace bb to -- by init stringa|512_mean 632 ns 628 ns 4
replace bb to -- by init stringa|512_median 625 ns 621 ns 4
replace bb to -- by init stringa|512_stddev 20.0 ns 19.7 ns 4
replace bb to -- by init stringa|512_cv 3.16 % 3.14 % 4
replace bb to -- by init stringa|1024_mean 1108 ns 1111 ns 4
replace bb to -- by init stringa|1024_median 1113 ns 1123 ns 4
replace bb to -- by init stringa|1024_stddev 17.8 ns 24.4 ns 4
replace bb to -- by init stringa|1024_cv 1.61 % 2.20 % 4
replace bb to -- by init stringa|2048_mean 2118 ns 2120 ns 4
replace bb to -- by init stringa|2048_median 2129 ns 2131 ns 4
replace bb to -- by init stringa|2048_stddev 52.1 ns 57.1 ns 4
replace bb to -- by init stringa|2048_cv 2.46 % 2.69 % 4
----- Hash Map insert and find ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
hashStrMapA<size_t> emplace & find stringa;_mean 4479657 ns 4464286 ns 4
hashStrMapA<size_t> emplace & find stringa;_median 4475352 ns 4464286 ns 4
hashStrMapA<size_t> emplace & find stringa;_stddev 66831 ns 82843 ns 4
hashStrMapA<size_t> emplace & find stringa;_cv 1.49 % 1.86 % 4
std::unordered_map<std::string, size_t> emplace & find std::string;_mean 6065832 ns 6054688 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string;_median 6124586 ns 6171875 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string;_stddev 197357 ns 295776 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string;_cv 3.25 % 4.89 % 4
hashStrMapA<size_t> emplace & find ssa;_mean 4127357 ns 4110647 ns 4
hashStrMapA<size_t> emplace & find ssa;_median 4151725 ns 4133358 ns 4
hashStrMapA<size_t> emplace & find ssa;_stddev 108956 ns 86976 ns 4
hashStrMapA<size_t> emplace & find ssa;_cv 2.64 % 2.12 % 4
std::unordered_map<std::string, size_t> emplace & find std::string_view;_mean 6592167 ns 6487165 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string_view;_median 6513210 ns 6556920 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string_view;_stddev 328075 ns 139509 ns 4
std::unordered_map<std::string, size_t> emplace & find std::string_view;_cv 4.98 % 2.15 % 4
----- Build Full Func Name ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
Build func full name std::string;_mean 1622 ns 1617 ns 4
Build func full name std::string;_median 1619 ns 1632 ns 4
Build func full name std::string;_stddev 25.8 ns 31.4 ns 4
Build func full name std::string;_cv 1.59 % 1.94 % 4
Build func full name std::string 1;_mean 1697 ns 1678 ns 4
Build func full name std::string 1;_median 1703 ns 1669 ns 4
Build func full name std::string 1;_stddev 17.8 ns 36.7 ns 4
Build func full name std::string 1;_cv 1.05 % 2.19 % 4
Build func full name std::stream;_mean 9698 ns 9644 ns 4
Build func full name std::stream;_median 9701 ns 9521 ns 4
Build func full name std::stream;_stddev 143 ns 244 ns 4
Build func full name std::stream;_cv 1.47 % 2.53 % 4
Build func full name stringa;_mean 867 ns 868 ns 4
Build func full name stringa;_median 868 ns 868 ns 4
Build func full name stringa;_stddev 21.8 ns 12.1 ns 4
Build func full name stringa;_cv 2.51 % 1.39 % 4
Build func full name stringa 1;_mean 996 ns 994 ns 4
Build func full name stringa 1;_median 997 ns 994 ns 4
Build func full name stringa 1;_stddev 10.2 ns 12.1 ns 4
Build func full name stringa 1;_cv 1.02 % 1.22 % 4
----- Make Upper ---------/repeats:1 0.000 ns 0.000 ns 1000000000000
To upper case std::wstring_mean 1438 ns 1428 ns 4
To upper case std::wstring_median 1439 ns 1428 ns 4
To upper case std::wstring_stddev 11.0 ns 18.1 ns 4
To upper case std::wstring_cv 0.76 % 1.27 % 4
To upper case lstringw<15>_mean 44.4 ns 44.3 ns 4
To upper case lstringw<15>_median 44.4 ns 44.7 ns 4
To upper case lstringw<15>_stddev 0.322 ns 1.33 ns 4
To upper case lstringw<15>_cv 0.73 % 3.01 % 4