-
Notifications
You must be signed in to change notification settings - Fork 15.3k
[libc++][format][5/7] Improve std::format_to_n #101831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[libc++][format][5/7] Improve std::format_to_n #101831
Conversation
__format_to_n_buffer is not used in the public library interface so the changes are not an ABI break. Before ---------------------------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------------------------------------------------------------- BM_format_to_n_string_back_inserter<std::string>/1 59.2 ns 59.1 ns 11797400 bytes_per_second=16.146Mi/s BM_format_to_n_string_back_inserter<std::string>/2 58.5 ns 58.3 ns 12042693 bytes_per_second=32.69Mi/s BM_format_to_n_string_back_inserter<std::string>/4 58.2 ns 58.0 ns 12053679 bytes_per_second=65.7375Mi/s BM_format_to_n_string_back_inserter<std::string>/8 58.6 ns 58.4 ns 12000831 bytes_per_second=130.542Mi/s BM_format_to_n_string_back_inserter<std::string>/16 58.7 ns 58.6 ns 11948692 bytes_per_second=260.493Mi/s BM_format_to_n_string_back_inserter<std::string>/32 77.8 ns 77.6 ns 8957906 bytes_per_second=393.212Mi/s BM_format_to_n_string_back_inserter<std::string>/64 77.5 ns 77.3 ns 9015286 bytes_per_second=789.397Mi/s BM_format_to_n_string_back_inserter<std::string>/128 90.9 ns 90.7 ns 7712930 bytes_per_second=1.31409Gi/s BM_format_to_n_string_back_inserter<std::string>/256 102 ns 102 ns 6865771 bytes_per_second=2.33399Gi/s BM_format_to_n_string_back_inserter<std::string>/512 158 ns 158 ns 4449684 bytes_per_second=3.02418Gi/s BM_format_to_n_string_back_inserter<std::string>/1024 290 ns 289 ns 2415073 bytes_per_second=3.29623Gi/s BM_format_to_n_string_back_inserter<std::string>/2048 489 ns 488 ns 1435682 bytes_per_second=3.90789Gi/s BM_format_to_n_string_back_inserter<std::string>/4096 801 ns 799 ns 875722 bytes_per_second=4.77568Gi/s BM_format_to_n_string_back_inserter<std::string>/8192 1449 ns 1445 ns 485062 bytes_per_second=5.27805Gi/s BM_format_to_n_string_back_inserter<std::string>/16384 2942 ns 2933 ns 238811 bytes_per_second=5.20206Gi/s BM_format_to_n_string_back_inserter<std::string>/32768 5676 ns 5661 ns 123699 bytes_per_second=5.39051Gi/s BM_format_to_n_string_back_inserter<std::string>/65536 12437 ns 12404 ns 56488 bytes_per_second=4.92062Gi/s BM_format_to_n_string_back_inserter<std::string>/131072 25855 ns 25787 ns 27203 bytes_per_second=4.73377Gi/s BM_format_to_n_string_back_inserter<std::string>/262144 52880 ns 52739 ns 13234 bytes_per_second=4.62925Gi/s BM_format_to_n_string_back_inserter<std::string>/524288 107703 ns 107410 ns 6509 bytes_per_second=4.54594Gi/s BM_format_to_n_string_back_inserter<std::string>/1048576 231479 ns 230781 ns 3041 bytes_per_second=4.23155Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1 72.2 ns 72.0 ns 9743767 bytes_per_second=13.2436Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/2 72.5 ns 72.3 ns 9678565 bytes_per_second=26.3647Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/4 74.1 ns 73.9 ns 9474498 bytes_per_second=51.6367Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/8 75.0 ns 74.8 ns 9343663 bytes_per_second=101.929Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/16 79.4 ns 79.2 ns 8837997 bytes_per_second=192.732Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/32 88.6 ns 88.3 ns 7935214 bytes_per_second=345.479Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/64 90.6 ns 90.3 ns 7741976 bytes_per_second=675.639Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/128 109 ns 109 ns 6438809 bytes_per_second=1.0968Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/256 120 ns 119 ns 5857845 bytes_per_second=1.99756Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/512 186 ns 186 ns 3765552 bytes_per_second=2.56813Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1024 284 ns 283 ns 2474412 bytes_per_second=3.37194Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/2048 484 ns 483 ns 1450834 bytes_per_second=3.94717Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/4096 802 ns 800 ns 869473 bytes_per_second=4.76587Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/8192 1469 ns 1466 ns 477127 bytes_per_second=5.20439Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/16384 2700 ns 2693 ns 259821 bytes_per_second=5.66613Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/32768 4979 ns 4967 ns 140926 bytes_per_second=6.14388Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/65536 10431 ns 10405 ns 67137 bytes_per_second=5.86603Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/131072 22646 ns 22591 ns 30999 bytes_per_second=5.40348Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/262144 46278 ns 46148 ns 15156 bytes_per_second=5.29038Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/524288 91695 ns 91511 ns 7657 bytes_per_second=5.33577Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1048576 195458 ns 194988 ns 3567 bytes_per_second=5.00831Gi/s BM_format_to_n_string_back_inserter<std::list<char>>/1 65.5 ns 65.4 ns 10691963 bytes_per_second=14.5921Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/2 78.9 ns 78.7 ns 8920318 bytes_per_second=24.2294Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/4 107 ns 107 ns 6540004 bytes_per_second=35.6329Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/8 171 ns 171 ns 4108360 bytes_per_second=44.6311Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/16 331 ns 330 ns 2121251 bytes_per_second=46.2379Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/32 641 ns 640 ns 1097213 bytes_per_second=47.6889Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/64 1237 ns 1233 ns 565941 bytes_per_second=49.4821Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/128 2474 ns 2469 ns 284645 bytes_per_second=49.4484Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/256 4984 ns 4972 ns 142037 bytes_per_second=49.0997Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/512 9740 ns 9716 ns 71542 bytes_per_second=50.2565Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/1024 19503 ns 19451 ns 35970 bytes_per_second=50.2075Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/2048 39078 ns 38981 ns 17962 bytes_per_second=50.1052Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/4096 78329 ns 78132 ns 8963 bytes_per_second=49.9954Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/8192 156689 ns 156291 ns 4467 bytes_per_second=49.9869Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/16384 313624 ns 312732 ns 2235 bytes_per_second=49.9629Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/32768 630336 ns 628711 ns 1108 bytes_per_second=49.7048Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/65536 1261542 ns 1258055 ns 555 bytes_per_second=49.6799Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/131072 2543001 ns 2535000 ns 275 bytes_per_second=49.3097Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/262144 5214390 ns 5191608 ns 125 bytes_per_second=48.1546Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/524288 10650366 ns 10609616 ns 62 bytes_per_second=47.1271Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/1048576 21677130 ns 21550764 ns 31 bytes_per_second=46.4021Mi/s BM_format_to_n_string_begin<std::string>/1 53.7 ns 53.5 ns 13041641 bytes_per_second=17.8119Mi/s BM_format_to_n_string_begin<std::string>/2 53.0 ns 52.9 ns 13243962 bytes_per_second=36.0447Mi/s BM_format_to_n_string_begin<std::string>/4 53.1 ns 53.0 ns 13167006 bytes_per_second=71.98Mi/s BM_format_to_n_string_begin<std::string>/8 53.6 ns 53.5 ns 13093098 bytes_per_second=142.591Mi/s BM_format_to_n_string_begin<std::string>/16 53.7 ns 53.5 ns 13020678 bytes_per_second=285.038Mi/s BM_format_to_n_string_begin<std::string>/32 53.9 ns 53.8 ns 13034246 bytes_per_second=567.706Mi/s BM_format_to_n_string_begin<std::string>/64 54.3 ns 54.2 ns 12901135 bytes_per_second=1.10027Gi/s BM_format_to_n_string_begin<std::string>/128 60.7 ns 60.5 ns 11605050 bytes_per_second=1.97014Gi/s BM_format_to_n_string_begin<std::string>/256 69.1 ns 68.9 ns 10172526 bytes_per_second=3.4582Gi/s BM_format_to_n_string_begin<std::string>/512 89.5 ns 89.3 ns 7814551 bytes_per_second=5.33874Gi/s BM_format_to_n_string_begin<std::string>/1024 132 ns 132 ns 5302589 bytes_per_second=7.23812Gi/s BM_format_to_n_string_begin<std::string>/2048 229 ns 228 ns 3070816 bytes_per_second=8.3559Gi/s BM_format_to_n_string_begin<std::string>/4096 425 ns 424 ns 1649496 bytes_per_second=8.98833Gi/s BM_format_to_n_string_begin<std::string>/8192 812 ns 810 ns 866484 bytes_per_second=9.42053Gi/s BM_format_to_n_string_begin<std::string>/16384 1656 ns 1652 ns 423179 bytes_per_second=9.23521Gi/s BM_format_to_n_string_begin<std::string>/32768 3179 ns 3171 ns 220456 bytes_per_second=9.62316Gi/s BM_format_to_n_string_begin<std::string>/65536 6818 ns 6802 ns 103122 bytes_per_second=8.97315Gi/s BM_format_to_n_string_begin<std::string>/131072 14829 ns 14788 ns 47434 bytes_per_second=8.25491Gi/s BM_format_to_n_string_begin<std::string>/262144 29547 ns 29471 ns 23756 bytes_per_second=8.28414Gi/s BM_format_to_n_string_begin<std::string>/524288 59436 ns 59284 ns 11787 bytes_per_second=8.2363Gi/s BM_format_to_n_string_begin<std::string>/1048576 120292 ns 119974 ns 5842 bytes_per_second=8.13979Gi/s BM_format_to_n_string_begin<std::vector<char>>/1 53.0 ns 52.9 ns 13395096 bytes_per_second=18.0263Mi/s BM_format_to_n_string_begin<std::vector<char>>/2 53.0 ns 52.9 ns 13255941 bytes_per_second=36.0868Mi/s BM_format_to_n_string_begin<std::vector<char>>/4 52.9 ns 52.8 ns 13208574 bytes_per_second=72.2285Mi/s BM_format_to_n_string_begin<std::vector<char>>/8 52.5 ns 52.4 ns 13349218 bytes_per_second=145.688Mi/s BM_format_to_n_string_begin<std::vector<char>>/16 52.7 ns 52.6 ns 13239180 bytes_per_second=290.223Mi/s BM_format_to_n_string_begin<std::vector<char>>/32 52.9 ns 52.8 ns 12857843 bytes_per_second=577.776Mi/s BM_format_to_n_string_begin<std::vector<char>>/64 53.3 ns 53.2 ns 13165818 bytes_per_second=1.12004Gi/s BM_format_to_n_string_begin<std::vector<char>>/128 58.8 ns 58.7 ns 11955351 bytes_per_second=2.03242Gi/s BM_format_to_n_string_begin<std::vector<char>>/256 72.7 ns 72.5 ns 9567121 bytes_per_second=3.28642Gi/s BM_format_to_n_string_begin<std::vector<char>>/512 96.6 ns 96.3 ns 7270746 bytes_per_second=4.9504Gi/s BM_format_to_n_string_begin<std::vector<char>>/1024 138 ns 138 ns 5074395 bytes_per_second=6.91338Gi/s BM_format_to_n_string_begin<std::vector<char>>/2048 235 ns 235 ns 2985729 bytes_per_second=8.13348Gi/s BM_format_to_n_string_begin<std::vector<char>>/4096 439 ns 438 ns 1597496 bytes_per_second=8.70102Gi/s BM_format_to_n_string_begin<std::vector<char>>/8192 853 ns 851 ns 823405 bytes_per_second=8.96488Gi/s BM_format_to_n_string_begin<std::vector<char>>/16384 1627 ns 1623 ns 429274 bytes_per_second=9.40197Gi/s BM_format_to_n_string_begin<std::vector<char>>/32768 3221 ns 3212 ns 218030 bytes_per_second=9.50016Gi/s BM_format_to_n_string_begin<std::vector<char>>/65536 7089 ns 7072 ns 98823 bytes_per_second=8.63113Gi/s BM_format_to_n_string_begin<std::vector<char>>/131072 15268 ns 15229 ns 46052 bytes_per_second=8.01568Gi/s BM_format_to_n_string_begin<std::vector<char>>/262144 30296 ns 30219 ns 23098 bytes_per_second=8.07902Gi/s BM_format_to_n_string_begin<std::vector<char>>/524288 61230 ns 61074 ns 11421 bytes_per_second=7.99487Gi/s BM_format_to_n_string_begin<std::vector<char>>/1048576 124101 ns 123704 ns 5671 bytes_per_second=7.89434Gi/s BM_format_to_n_string_begin<std::list<char>>/1 49.0 ns 48.9 ns 14339585 bytes_per_second=19.5125Mi/s BM_format_to_n_string_begin<std::list<char>>/2 49.8 ns 49.6 ns 14059613 bytes_per_second=38.4293Mi/s BM_format_to_n_string_begin<std::list<char>>/4 50.9 ns 50.8 ns 13803755 bytes_per_second=75.0895Mi/s BM_format_to_n_string_begin<std::list<char>>/8 64.0 ns 63.8 ns 10943929 bytes_per_second=119.516Mi/s BM_format_to_n_string_begin<std::list<char>>/16 84.8 ns 84.6 ns 8276210 bytes_per_second=180.468Mi/s BM_format_to_n_string_begin<std::list<char>>/32 127 ns 127 ns 5517041 bytes_per_second=240.407Mi/s BM_format_to_n_string_begin<std::list<char>>/64 214 ns 213 ns 3276668 bytes_per_second=286.073Mi/s BM_format_to_n_string_begin<std::list<char>>/128 389 ns 388 ns 1795410 bytes_per_second=314.419Mi/s BM_format_to_n_string_begin<std::list<char>>/256 749 ns 747 ns 938533 bytes_per_second=326.8Mi/s BM_format_to_n_string_begin<std::list<char>>/512 1453 ns 1449 ns 483905 bytes_per_second=336.9Mi/s BM_format_to_n_string_begin<std::list<char>>/1024 2852 ns 2845 ns 245676 bytes_per_second=343.269Mi/s BM_format_to_n_string_begin<std::list<char>>/2048 5685 ns 5671 ns 122982 bytes_per_second=344.409Mi/s BM_format_to_n_string_begin<std::list<char>>/4096 11312 ns 11283 ns 61990 bytes_per_second=346.216Mi/s BM_format_to_n_string_begin<std::list<char>>/8192 22644 ns 22586 ns 31006 bytes_per_second=345.9Mi/s BM_format_to_n_string_begin<std::list<char>>/16384 45298 ns 45180 ns 15512 bytes_per_second=345.836Mi/s BM_format_to_n_string_begin<std::list<char>>/32768 90351 ns 90110 ns 7777 bytes_per_second=346.8Mi/s BM_format_to_n_string_begin<std::list<char>>/65536 180594 ns 180048 ns 3892 bytes_per_second=347.13Mi/s BM_format_to_n_string_begin<std::list<char>>/131072 373023 ns 371863 ns 1882 bytes_per_second=336.145Mi/s BM_format_to_n_string_begin<std::list<char>>/262144 895166 ns 891717 ns 713 bytes_per_second=280.358Mi/s BM_format_to_n_string_begin<std::list<char>>/524288 2209006 ns 2201104 ns 318 bytes_per_second=227.159Mi/s BM_format_to_n_string_begin<std::list<char>>/1048576 4421130 ns 4404315 ns 159 bytes_per_second=227.05Mi/s BM_format_to_n_string_span<char>/1 53.3 ns 53.2 ns 13152297 bytes_per_second=17.9301Mi/s BM_format_to_n_string_span<char>/2 52.5 ns 52.4 ns 13372731 bytes_per_second=36.4069Mi/s BM_format_to_n_string_span<char>/4 52.8 ns 52.7 ns 13249176 bytes_per_second=72.3966Mi/s BM_format_to_n_string_span<char>/8 52.9 ns 52.8 ns 13256871 bytes_per_second=144.603Mi/s BM_format_to_n_string_span<char>/16 53.7 ns 53.5 ns 13086124 bytes_per_second=285.171Mi/s BM_format_to_n_string_span<char>/32 53.4 ns 53.3 ns 13156961 bytes_per_second=572.554Mi/s BM_format_to_n_string_span<char>/64 53.4 ns 53.1 ns 13208519 bytes_per_second=1.12209Gi/s BM_format_to_n_string_span<char>/128 60.8 ns 60.7 ns 11537915 bytes_per_second=1.96458Gi/s BM_format_to_n_string_span<char>/256 69.1 ns 69.0 ns 10221573 bytes_per_second=3.45715Gi/s BM_format_to_n_string_span<char>/512 89.5 ns 89.3 ns 7857679 bytes_per_second=5.34184Gi/s BM_format_to_n_string_span<char>/1024 134 ns 134 ns 5229017 bytes_per_second=7.12054Gi/s BM_format_to_n_string_span<char>/2048 223 ns 222 ns 3148532 bytes_per_second=8.58077Gi/s BM_format_to_n_string_span<char>/4096 427 ns 426 ns 1640906 bytes_per_second=8.9548Gi/s BM_format_to_n_string_span<char>/8192 818 ns 816 ns 862045 bytes_per_second=9.35247Gi/s BM_format_to_n_string_span<char>/16384 1622 ns 1617 ns 432033 bytes_per_second=9.43376Gi/s BM_format_to_n_string_span<char>/32768 3137 ns 3129 ns 223336 bytes_per_second=9.75164Gi/s BM_format_to_n_string_span<char>/65536 6698 ns 6682 ns 104597 bytes_per_second=9.13435Gi/s BM_format_to_n_string_span<char>/131072 14925 ns 14888 ns 46957 bytes_per_second=8.19897Gi/s BM_format_to_n_string_span<char>/262144 29688 ns 29603 ns 23654 bytes_per_second=8.24706Gi/s BM_format_to_n_string_span<char>/524288 59308 ns 59180 ns 11818 bytes_per_second=8.25073Gi/s BM_format_to_n_string_span<char>/1048576 118765 ns 118433 ns 5890 bytes_per_second=8.24568Gi/s BM_format_to_n_string_pointer<char>/1 52.3 ns 52.2 ns 13388309 bytes_per_second=18.2682Mi/s BM_format_to_n_string_pointer<char>/2 52.9 ns 52.8 ns 13272848 bytes_per_second=36.1233Mi/s BM_format_to_n_string_pointer<char>/4 53.1 ns 52.9 ns 13228995 bytes_per_second=72.0969Mi/s BM_format_to_n_string_pointer<char>/8 52.9 ns 52.8 ns 13249394 bytes_per_second=144.527Mi/s BM_format_to_n_string_pointer<char>/16 52.6 ns 52.5 ns 13336233 bytes_per_second=290.602Mi/s BM_format_to_n_string_pointer<char>/32 52.5 ns 52.4 ns 13331942 bytes_per_second=582.748Mi/s BM_format_to_n_string_pointer<char>/64 53.5 ns 53.4 ns 13126493 bytes_per_second=1.11708Gi/s BM_format_to_n_string_pointer<char>/128 62.4 ns 62.3 ns 11222983 bytes_per_second=1.9146Gi/s BM_format_to_n_string_pointer<char>/256 69.5 ns 69.4 ns 10086274 bytes_per_second=3.43692Gi/s BM_format_to_n_string_pointer<char>/512 88.3 ns 88.1 ns 7929196 bytes_per_second=5.41346Gi/s BM_format_to_n_string_pointer<char>/1024 131 ns 131 ns 5357630 bytes_per_second=7.29499Gi/s BM_format_to_n_string_pointer<char>/2048 226 ns 225 ns 3099073 bytes_per_second=8.46339Gi/s BM_format_to_n_string_pointer<char>/4096 426 ns 425 ns 1646323 bytes_per_second=8.97431Gi/s BM_format_to_n_string_pointer<char>/8192 815 ns 813 ns 859395 bytes_per_second=9.38067Gi/s BM_format_to_n_string_pointer<char>/16384 1618 ns 1614 ns 432959 bytes_per_second=9.45405Gi/s BM_format_to_n_string_pointer<char>/32768 3137 ns 3129 ns 223694 bytes_per_second=9.75173Gi/s BM_format_to_n_string_pointer<char>/65536 6693 ns 6675 ns 104933 bytes_per_second=9.14424Gi/s BM_format_to_n_string_pointer<char>/131072 14912 ns 14876 ns 47053 bytes_per_second=8.20589Gi/s BM_format_to_n_string_pointer<char>/262144 29685 ns 29609 ns 23651 bytes_per_second=8.24549Gi/s BM_format_to_n_string_pointer<char>/524288 59254 ns 59133 ns 11837 bytes_per_second=8.25738Gi/s BM_format_to_n_string_pointer<char>/1048576 118746 ns 118523 ns 5911 bytes_per_second=8.2394Gi/s BM_format_to_n_string_back_inserter<std::wstring>/1 57.5 ns 57.3 ns 12220461 bytes_per_second=66.5332Mi/s BM_format_to_n_string_back_inserter<std::wstring>/2 57.4 ns 57.2 ns 12204054 bytes_per_second=133.333Mi/s BM_format_to_n_string_back_inserter<std::wstring>/4 57.3 ns 57.2 ns 12223980 bytes_per_second=266.784Mi/s BM_format_to_n_string_back_inserter<std::wstring>/8 77.0 ns 76.8 ns 9139240 bytes_per_second=397.372Mi/s BM_format_to_n_string_back_inserter<std::wstring>/16 78.2 ns 78.0 ns 8964082 bytes_per_second=782.577Mi/s BM_format_to_n_string_back_inserter<std::wstring>/32 92.9 ns 92.6 ns 7565173 bytes_per_second=1.28711Gi/s BM_format_to_n_string_back_inserter<std::wstring>/64 103 ns 103 ns 6811965 bytes_per_second=2.3225Gi/s BM_format_to_n_string_back_inserter<std::wstring>/128 159 ns 159 ns 4405973 bytes_per_second=3.00338Gi/s BM_format_to_n_string_back_inserter<std::wstring>/256 288 ns 287 ns 2435586 bytes_per_second=3.31766Gi/s BM_format_to_n_string_back_inserter<std::wstring>/512 484 ns 483 ns 1449916 bytes_per_second=3.94838Gi/s BM_format_to_n_string_back_inserter<std::wstring>/1024 817 ns 815 ns 856668 bytes_per_second=4.68114Gi/s BM_format_to_n_string_back_inserter<std::wstring>/2048 1553 ns 1549 ns 451120 bytes_per_second=4.92413Gi/s BM_format_to_n_string_back_inserter<std::wstring>/4096 2984 ns 2977 ns 235097 bytes_per_second=5.12583Gi/s BM_format_to_n_string_back_inserter<std::wstring>/8192 5893 ns 5878 ns 119106 bytes_per_second=5.19202Gi/s BM_format_to_n_string_back_inserter<std::wstring>/16384 12448 ns 12412 ns 56460 bytes_per_second=4.91758Gi/s BM_format_to_n_string_back_inserter<std::wstring>/32768 25981 ns 25918 ns 27056 bytes_per_second=4.7099Gi/s BM_format_to_n_string_back_inserter<std::wstring>/65536 52551 ns 52422 ns 13313 bytes_per_second=4.65723Gi/s BM_format_to_n_string_back_inserter<std::wstring>/131072 107130 ns 106904 ns 6544 bytes_per_second=4.56746Gi/s BM_format_to_n_string_back_inserter<std::wstring>/262144 229385 ns 228860 ns 3050 bytes_per_second=4.26707Gi/s BM_format_to_n_string_back_inserter<std::wstring>/524288 635498 ns 633625 ns 1077 bytes_per_second=3.08246Gi/s BM_format_to_n_string_back_inserter<std::wstring>/1048576 1433803 ns 1428452 ns 484 bytes_per_second=2.7346Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/1 70.5 ns 70.3 ns 9940095 bytes_per_second=54.2572Mi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/2 70.7 ns 70.6 ns 9934856 bytes_per_second=108.129Mi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/4 73.2 ns 73.0 ns 9588422 bytes_per_second=209.069Mi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/8 75.6 ns 75.4 ns 9285318 bytes_per_second=404.488Mi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/16 79.9 ns 79.7 ns 8792551 bytes_per_second=766.115Mi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/32 104 ns 104 ns 6731654 bytes_per_second=1.14643Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/64 137 ns 137 ns 5110206 bytes_per_second=1.739Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/128 225 ns 225 ns 3119091 bytes_per_second=2.12152Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/256 338 ns 337 ns 2076273 bytes_per_second=2.82731Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/512 546 ns 544 ns 1266193 bytes_per_second=3.50459Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/1024 872 ns 870 ns 803018 bytes_per_second=4.3864Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/2048 1553 ns 1551 ns 448165 bytes_per_second=4.91783Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/4096 2719 ns 2719 ns 257081 bytes_per_second=5.61113Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/8192 5032 ns 5033 ns 139480 bytes_per_second=6.06401Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/16384 10447 ns 10447 ns 67169 bytes_per_second=5.84251Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/32768 22749 ns 22749 ns 30716 bytes_per_second=5.36591Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/65536 46382 ns 46383 ns 15107 bytes_per_second=5.26353Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/131072 91122 ns 91123 ns 7643 bytes_per_second=5.35849Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/262144 189609 ns 189589 ns 3730 bytes_per_second=5.15094Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/524288 604574 ns 604526 ns 1153 bytes_per_second=3.23084Gi/s BM_format_to_n_string_back_inserter<std::vector<wchar_t>>/1048576 1419322 ns 1419261 ns 489 bytes_per_second=2.75231Gi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/1 63.6 ns 63.6 ns 11046791 bytes_per_second=59.9824Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/2 77.7 ns 77.7 ns 9013447 bytes_per_second=98.1427Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/4 106 ns 106 ns 6608662 bytes_per_second=144.104Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/8 171 ns 171 ns 4100338 bytes_per_second=177.949Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/16 333 ns 333 ns 2090106 bytes_per_second=183.038Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/32 665 ns 665 ns 1051827 bytes_per_second=183.55Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/64 1277 ns 1277 ns 547868 bytes_per_second=191.143Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/128 2531 ns 2531 ns 275172 bytes_per_second=192.953Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/256 5071 ns 5070 ns 138777 bytes_per_second=192.603Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/512 9998 ns 9998 ns 69940 bytes_per_second=195.344Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/1024 20060 ns 20060 ns 34925 bytes_per_second=194.725Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/2048 40194 ns 40195 ns 17413 bytes_per_second=194.365Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/4096 80358 ns 80359 ns 8721 bytes_per_second=194.439Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/8192 161371 ns 161364 ns 4334 bytes_per_second=193.662Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/16384 323119 ns 323121 ns 2166 bytes_per_second=193.426Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/32768 646629 ns 646587 ns 1075 bytes_per_second=193.323Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/65536 1292611 ns 1292597 ns 541 bytes_per_second=193.409Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/131072 2616640 ns 2616409 ns 267 bytes_per_second=191.102Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/262144 5414119 ns 5414122 ns 124 bytes_per_second=184.702Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/524288 10974467 ns 10974049 ns 59 bytes_per_second=182.248Mi/s BM_format_to_n_string_back_inserter<std::list<wchar_t>>/1048576 22293729 ns 22293492 ns 30 bytes_per_second=179.425Mi/s BM_format_to_n_string_begin<std::wstring>/1 52.0 ns 52.0 ns 13513725 bytes_per_second=73.3442Mi/s BM_format_to_n_string_begin<std::wstring>/2 51.7 ns 51.7 ns 13424668 bytes_per_second=147.671Mi/s BM_format_to_n_string_begin<std::wstring>/4 51.9 ns 51.9 ns 13509922 bytes_per_second=294.176Mi/s BM_format_to_n_string_begin<std::wstring>/8 52.0 ns 52.0 ns 13465404 bytes_per_second=587.05Mi/s BM_format_to_n_string_begin<std::wstring>/16 52.5 ns 52.5 ns 13500423 bytes_per_second=1.13543Gi/s BM_format_to_n_string_begin<std::wstring>/32 56.4 ns 56.4 ns 12405180 bytes_per_second=2.11547Gi/s BM_format_to_n_string_begin<std::wstring>/64 67.6 ns 67.6 ns 10352129 bytes_per_second=3.52698Gi/s BM_format_to_n_string_begin<std::wstring>/128 93.9 ns 93.9 ns 7522376 bytes_per_second=5.07921Gi/s BM_format_to_n_string_begin<std::wstring>/256 133 ns 133 ns 5247826 bytes_per_second=7.16001Gi/s BM_format_to_n_string_begin<std::wstring>/512 231 ns 231 ns 3023825 bytes_per_second=8.24208Gi/s BM_format_to_n_string_begin<std::wstring>/1024 424 ns 424 ns 1649402 bytes_per_second=8.99487Gi/s BM_format_to_n_string_begin<std::wstring>/2048 830 ns 830 ns 848532 bytes_per_second=9.19095Gi/s BM_format_to_n_string_begin<std::wstring>/4096 1679 ns 1679 ns 416070 bytes_per_second=9.09029Gi/s BM_format_to_n_string_begin<std::wstring>/8192 3213 ns 3213 ns 218136 bytes_per_second=9.49747Gi/s BM_format_to_n_string_begin<std::wstring>/16384 6838 ns 6838 ns 102068 bytes_per_second=8.92627Gi/s BM_format_to_n_string_begin<std::wstring>/32768 14764 ns 14764 ns 47436 bytes_per_second=8.26818Gi/s BM_format_to_n_string_begin<std::wstring>/65536 29714 ns 29714 ns 23491 bytes_per_second=8.21633Gi/s BM_format_to_n_string_begin<std::wstring>/131072 59647 ns 59644 ns 11780 bytes_per_second=8.18662Gi/s BM_format_to_n_string_begin<std::wstring>/262144 119454 ns 119456 ns 5863 bytes_per_second=8.17507Gi/s BM_format_to_n_string_begin<std::wstring>/524288 286293 ns 286295 ns 2442 bytes_per_second=6.82206Gi/s BM_format_to_n_string_begin<std::wstring>/1048576 911579 ns 911595 ns 766 bytes_per_second=4.28507Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/1 51.3 ns 51.3 ns 13635395 bytes_per_second=74.3867Mi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/2 51.0 ns 51.0 ns 13736606 bytes_per_second=149.493Mi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/4 51.3 ns 51.3 ns 13656750 bytes_per_second=297.64Mi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/8 51.1 ns 51.1 ns 12622517 bytes_per_second=597.171Mi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/16 51.5 ns 51.5 ns 13233009 bytes_per_second=1.15659Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/32 55.9 ns 55.9 ns 12520247 bytes_per_second=2.13093Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/64 68.3 ns 68.3 ns 10250969 bytes_per_second=3.49104Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/128 94.1 ns 94.1 ns 7450735 bytes_per_second=5.06522Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/256 135 ns 135 ns 5189630 bytes_per_second=7.07126Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/512 236 ns 236 ns 2969116 bytes_per_second=8.08995Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/1024 440 ns 440 ns 1591408 bytes_per_second=8.678Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/2048 853 ns 853 ns 814193 bytes_per_second=8.94736Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/4096 1634 ns 1634 ns 427050 bytes_per_second=9.33682Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/8192 3209 ns 3209 ns 217702 bytes_per_second=9.50934Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/16384 7058 ns 7058 ns 99366 bytes_per_second=8.64797Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/32768 15116 ns 15115 ns 46380 bytes_per_second=8.07629Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/65536 30376 ns 30377 ns 23028 bytes_per_second=8.03712Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/131072 60970 ns 60971 ns 11499 bytes_per_second=8.00836Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/262144 122493 ns 122497 ns 5720 bytes_per_second=7.97217Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/524288 290542 ns 290527 ns 2408 bytes_per_second=6.72271Gi/s BM_format_to_n_string_begin<std::vector<wchar_t>>/1048576 910702 ns 910584 ns 768 bytes_per_second=4.28983Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/1 47.6 ns 47.6 ns 14679442 bytes_per_second=80.1266Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/2 47.9 ns 47.9 ns 14631935 bytes_per_second=159.286Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/4 51.3 ns 51.3 ns 13651671 bytes_per_second=297.535Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/8 62.1 ns 62.1 ns 11280271 bytes_per_second=491.363Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/16 83.3 ns 83.3 ns 8403480 bytes_per_second=732.6Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/32 132 ns 132 ns 5270514 bytes_per_second=923.772Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/64 225 ns 225 ns 3115251 bytes_per_second=1.0616Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/128 411 ns 411 ns 1701267 bytes_per_second=1.15947Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/256 769 ns 769 ns 908949 bytes_per_second=1.24006Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/512 1491 ns 1491 ns 468414 bytes_per_second=1.27953Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/1024 2957 ns 2957 ns 236899 bytes_per_second=1.28999Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/2048 5843 ns 5843 ns 120170 bytes_per_second=1.30569Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/4096 11544 ns 11544 ns 60622 bytes_per_second=1.32184Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/8192 23435 ns 23435 ns 29848 bytes_per_second=1.3022Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/16384 47005 ns 47006 ns 14899 bytes_per_second=1.29844Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/32768 93735 ns 93735 ns 7461 bytes_per_second=1.30229Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/65536 187187 ns 187181 ns 3741 bytes_per_second=1.3043Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/131072 387031 ns 387029 ns 1799 bytes_per_second=1.26161Gi/s BM_format_to_n_string_begin<std::list<wchar_t>>/262144 1002722 ns 1002684 ns 695 bytes_per_second=997.323Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/524288 2354693 ns 2354599 ns 297 bytes_per_second=849.402Mi/s BM_format_to_n_string_begin<std::list<wchar_t>>/1048576 4864712 ns 4864581 ns 144 bytes_per_second=822.27Mi/s BM_format_to_n_string_span<wchar_t>/1 50.6 ns 50.6 ns 13863954 bytes_per_second=75.4097Mi/s BM_format_to_n_string_span<wchar_t>/2 50.7 ns 50.7 ns 13793656 bytes_per_second=150.425Mi/s BM_format_to_n_string_span<wchar_t>/4 51.4 ns 51.4 ns 13645021 bytes_per_second=296.823Mi/s BM_format_to_n_string_span<wchar_t>/8 51.2 ns 51.2 ns 13623522 bytes_per_second=595.898Mi/s BM_format_to_n_string_span<wchar_t>/16 51.7 ns 51.7 ns 13610614 bytes_per_second=1.15303Gi/s BM_format_to_n_string_span<wchar_t>/32 56.0 ns 56.0 ns 12451328 bytes_per_second=2.12771Gi/s BM_format_to_n_string_span<wchar_t>/64 66.3 ns 66.3 ns 10524699 bytes_per_second=3.59561Gi/s BM_format_to_n_string_span<wchar_t>/128 88.1 ns 88.1 ns 7938215 bytes_per_second=5.40999Gi/s BM_format_to_n_string_span<wchar_t>/256 128 ns 128 ns 5456422 bytes_per_second=7.43012Gi/s BM_format_to_n_string_span<wchar_t>/512 223 ns 223 ns 3142735 bytes_per_second=8.55933Gi/s BM_format_to_n_string_span<wchar_t>/1024 428 ns 428 ns 1638744 bytes_per_second=8.92023Gi/s BM_format_to_n_string_span<wchar_t>/2048 829 ns 829 ns 850093 bytes_per_second=9.20356Gi/s BM_format_to_n_string_span<wchar_t>/4096 1613 ns 1613 ns 432184 bytes_per_second=9.46179Gi/s BM_format_to_n_string_span<wchar_t>/8192 3151 ns 3151 ns 222389 bytes_per_second=9.68385Gi/s BM_format_to_n_string_span<wchar_t>/16384 6999 ns 7000 ns 99528 bytes_per_second=8.71988Gi/s BM_format_to_n_string_span<wchar_t>/32768 14819 ns 14818 ns 47207 bytes_per_second=8.23778Gi/s BM_format_to_n_string_span<wchar_t>/65536 29640 ns 29641 ns 23619 bytes_per_second=8.23659Gi/s BM_format_to_n_string_span<wchar_t>/131072 59443 ns 59440 ns 11783 bytes_per_second=8.21464Gi/s BM_format_to_n_string_span<wchar_t>/262144 118942 ns 118944 ns 5868 bytes_per_second=8.2103Gi/s BM_format_to_n_string_span<wchar_t>/524288 288199 ns 288173 ns 2431 bytes_per_second=6.77761Gi/s BM_format_to_n_string_span<wchar_t>/1048576 912877 ns 912855 ns 766 bytes_per_second=4.27916Gi/s BM_format_to_n_string_pointer<wchar_t>/1 50.7 ns 50.7 ns 13760222 bytes_per_second=75.2909Mi/s BM_format_to_n_string_pointer<wchar_t>/2 50.9 ns 50.9 ns 13753058 bytes_per_second=149.952Mi/s BM_format_to_n_string_pointer<wchar_t>/4 51.5 ns 51.5 ns 13580976 bytes_per_second=296.297Mi/s BM_format_to_n_string_pointer<wchar_t>/8 51.3 ns 51.3 ns 13646126 bytes_per_second=594.92Mi/s BM_format_to_n_string_pointer<wchar_t>/16 51.6 ns 51.6 ns 13583615 bytes_per_second=1.156Gi/s BM_format_to_n_string_pointer<wchar_t>/32 56.2 ns 56.2 ns 12474119 bytes_per_second=2.12153Gi/s BM_format_to_n_string_pointer<wchar_t>/64 66.4 ns 66.4 ns 10534648 bytes_per_second=3.58917Gi/s BM_format_to_n_string_pointer<wchar_t>/128 88.1 ns 88.1 ns 7950562 bytes_per_second=5.40973Gi/s BM_format_to_n_string_pointer<wchar_t>/256 129 ns 129 ns 5437624 bytes_per_second=7.39644Gi/s BM_format_to_n_string_pointer<wchar_t>/512 224 ns 224 ns 3120869 bytes_per_second=8.50226Gi/s BM_format_to_n_string_pointer<wchar_t>/1024 429 ns 429 ns 1631703 bytes_per_second=8.89102Gi/s BM_format_to_n_string_pointer<wchar_t>/2048 822 ns 822 ns 846043 bytes_per_second=9.28063Gi/s BM_format_to_n_string_pointer<wchar_t>/4096 1616 ns 1616 ns 431533 bytes_per_second=9.44167Gi/s BM_format_to_n_string_pointer<wchar_t>/8192 3151 ns 3151 ns 221539 bytes_per_second=9.68612Gi/s BM_format_to_n_string_pointer<wchar_t>/16384 6967 ns 6967 ns 100616 bytes_per_second=8.76067Gi/s BM_format_to_n_string_pointer<wchar_t>/32768 14734 ns 14734 ns 47573 bytes_per_second=8.285Gi/s BM_format_to_n_string_pointer<wchar_t>/65536 29502 ns 29502 ns 23727 bytes_per_second=8.27539Gi/s BM_format_to_n_string_pointer<wchar_t>/131072 59189 ns 59187 ns 11868 bytes_per_second=8.24977Gi/s BM_format_to_n_string_pointer<wchar_t>/262144 118521 ns 118524 ns 5903 bytes_per_second=8.2394Gi/s BM_format_to_n_string_pointer<wchar_t>/524288 288848 ns 288823 ns 2432 bytes_per_second=6.76236Gi/s BM_format_to_n_string_pointer<wchar_t>/1048576 912304 ns 912281 ns 765 bytes_per_second=4.28185Gi/s After ---------------------------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------------------------------------------------------------- BM_format_to_n_string_back_inserter<std::string>/1 58.3 ns 58.3 ns 11894752 bytes_per_second=16.3678Mi/s BM_format_to_n_string_back_inserter<std::string>/2 58.6 ns 58.6 ns 11930741 bytes_per_second=32.5454Mi/s BM_format_to_n_string_back_inserter<std::string>/4 58.7 ns 58.7 ns 11939708 bytes_per_second=65.0315Mi/s BM_format_to_n_string_back_inserter<std::string>/8 58.5 ns 58.5 ns 11961911 bytes_per_second=130.361Mi/s BM_format_to_n_string_back_inserter<std::string>/16 58.5 ns 58.5 ns 12024579 bytes_per_second=260.963Mi/s BM_format_to_n_string_back_inserter<std::string>/32 76.7 ns 76.7 ns 9105849 bytes_per_second=397.672Mi/s BM_format_to_n_string_back_inserter<std::string>/64 76.8 ns 76.8 ns 9132067 bytes_per_second=795.158Mi/s BM_format_to_n_string_back_inserter<std::string>/128 77.4 ns 77.4 ns 9036342 bytes_per_second=1.53966Gi/s BM_format_to_n_string_back_inserter<std::string>/256 90.0 ns 90.0 ns 7772798 bytes_per_second=2.64943Gi/s BM_format_to_n_string_back_inserter<std::string>/512 136 ns 136 ns 5146311 bytes_per_second=3.51286Gi/s BM_format_to_n_string_back_inserter<std::string>/1024 257 ns 257 ns 2721554 bytes_per_second=3.70954Gi/s BM_format_to_n_string_back_inserter<std::string>/2048 413 ns 413 ns 1694544 bytes_per_second=4.61394Gi/s BM_format_to_n_string_back_inserter<std::string>/4096 668 ns 668 ns 1048318 bytes_per_second=5.71409Gi/s BM_format_to_n_string_back_inserter<std::string>/8192 1116 ns 1116 ns 625793 bytes_per_second=6.83872Gi/s BM_format_to_n_string_back_inserter<std::string>/16384 2357 ns 2357 ns 297204 bytes_per_second=6.47413Gi/s BM_format_to_n_string_back_inserter<std::string>/32768 4467 ns 4467 ns 156599 bytes_per_second=6.83149Gi/s BM_format_to_n_string_back_inserter<std::string>/65536 9366 ns 9366 ns 74666 bytes_per_second=6.51672Gi/s BM_format_to_n_string_back_inserter<std::string>/131072 19923 ns 19923 ns 35254 bytes_per_second=6.12721Gi/s BM_format_to_n_string_back_inserter<std::string>/262144 42798 ns 42798 ns 16329 bytes_per_second=5.70446Gi/s BM_format_to_n_string_back_inserter<std::string>/524288 87261 ns 87257 ns 7998 bytes_per_second=5.59592Gi/s BM_format_to_n_string_back_inserter<std::string>/1048576 181427 ns 181426 ns 3849 bytes_per_second=5.3827Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1 72.0 ns 72.0 ns 9698638 bytes_per_second=13.2527Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/2 73.3 ns 73.3 ns 9565537 bytes_per_second=26.0322Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/4 73.9 ns 73.9 ns 9483910 bytes_per_second=51.6234Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/8 75.7 ns 75.7 ns 9205102 bytes_per_second=100.761Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/16 79.2 ns 79.2 ns 8841952 bytes_per_second=192.631Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/32 90.1 ns 90.1 ns 7809568 bytes_per_second=338.856Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/64 89.9 ns 89.9 ns 7783634 bytes_per_second=679.293Mi/s BM_format_to_n_string_back_inserter<std::vector<char>>/128 91.2 ns 91.2 ns 7677201 bytes_per_second=1.30693Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/256 108 ns 108 ns 6493267 bytes_per_second=2.21248Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/512 165 ns 165 ns 4241778 bytes_per_second=2.88381Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1024 250 ns 250 ns 2797074 bytes_per_second=3.80765Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/2048 404 ns 404 ns 1731642 bytes_per_second=4.72376Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/4096 629 ns 629 ns 1115298 bytes_per_second=6.0654Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/8192 1053 ns 1053 ns 661168 bytes_per_second=7.24586Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/16384 2062 ns 2062 ns 338457 bytes_per_second=7.40132Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/32768 3805 ns 3805 ns 183818 bytes_per_second=8.02137Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/65536 7558 ns 7558 ns 92613 bytes_per_second=8.07602Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/131072 16973 ns 16973 ns 41293 bytes_per_second=7.19215Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/262144 37110 ns 37111 ns 18845 bytes_per_second=6.57874Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/524288 73110 ns 73108 ns 9592 bytes_per_second=6.67894Gi/s BM_format_to_n_string_back_inserter<std::vector<char>>/1048576 149194 ns 149197 ns 4635 bytes_per_second=6.54548Gi/s BM_format_to_n_string_back_inserter<std::list<char>>/1 65.8 ns 65.8 ns 10641306 bytes_per_second=14.493Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/2 79.4 ns 79.4 ns 8823359 bytes_per_second=24.0097Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/4 107 ns 107 ns 6538116 bytes_per_second=35.6288Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/8 180 ns 180 ns 3883077 bytes_per_second=42.4124Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/16 334 ns 334 ns 2097317 bytes_per_second=45.6725Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/32 662 ns 662 ns 1043514 bytes_per_second=46.1005Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/64 1267 ns 1267 ns 553510 bytes_per_second=48.1803Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/128 2480 ns 2480 ns 283417 bytes_per_second=49.2188Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/256 4923 ns 4924 ns 142727 bytes_per_second=49.5863Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/512 9812 ns 9811 ns 71351 bytes_per_second=49.7668Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/1024 19590 ns 19591 ns 35686 bytes_per_second=49.8475Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/2048 39161 ns 39159 ns 17860 bytes_per_second=49.8767Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/4096 78316 ns 78315 ns 8920 bytes_per_second=49.8788Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/8192 156709 ns 156699 ns 4462 bytes_per_second=49.8566Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/16384 312842 ns 312842 ns 2239 bytes_per_second=49.9454Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/32768 629744 ns 629751 ns 1106 bytes_per_second=49.6228Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/65536 1257851 ns 1257872 ns 553 bytes_per_second=49.6871Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/131072 2531022 ns 2530835 ns 275 bytes_per_second=49.3908Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/262144 5182786 ns 5182661 ns 124 bytes_per_second=48.2378Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/524288 10566644 ns 10566709 ns 62 bytes_per_second=47.3184Mi/s BM_format_to_n_string_back_inserter<std::list<char>>/1048576 21319849 ns 21318080 ns 31 bytes_per_second=46.9085Mi/s BM_format_to_n_string_begin<std::string>/1 48.7 ns 48.7 ns 14301196 bytes_per_second=19.5919Mi/s BM_format_to_n_string_begin<std::string>/2 48.5 ns 48.5 ns 14418491 bytes_per_second=39.3467Mi/s BM_format_to_n_string_begin<std::string>/4 48.5 ns 48.5 ns 14435510 bytes_per_second=78.6366Mi/s BM_format_to_n_string_begin<std::string>/8 48.5 ns 48.5 ns 14434663 bytes_per_second=157.36Mi/s BM_format_to_n_string_begin<std::string>/16 48.5 ns 48.5 ns 14447251 bytes_per_second=314.86Mi/s BM_format_to_n_string_begin<std::string>/32 47.9 ns 47.9 ns 14603136 bytes_per_second=636.898Mi/s BM_format_to_n_string_begin<std::string>/64 48.3 ns 48.3 ns 14492719 bytes_per_second=1.23435Gi/s BM_format_to_n_string_begin<std::string>/128 48.2 ns 48.2 ns 14539008 bytes_per_second=2.47366Gi/s BM_format_to_n_string_begin<std::string>/256 50.0 ns 50.0 ns 14021955 bytes_per_second=4.7704Gi/s BM_format_to_n_string_begin<std::string>/512 52.6 ns 52.6 ns 13310671 bytes_per_second=9.06757Gi/s BM_format_to_n_string_begin<std::string>/1024 56.2 ns 56.2 ns 12459389 bytes_per_second=16.9652Gi/s BM_format_to_n_string_begin<std::string>/2048 67.2 ns 67.2 ns 10432897 bytes_per_second=28.3795Gi/s BM_format_to_n_string_begin<std::string>/4096 101 ns 101 ns 6911640 bytes_per_second=37.6209Gi/s BM_format_to_n_string_begin<std::string>/8192 150 ns 150 ns 4664235 bytes_per_second=50.8575Gi/s BM_format_to_n_string_begin<std::string>/16384 308 ns 308 ns 2225795 bytes_per_second=49.5371Gi/s BM_format_to_n_string_begin<std::string>/32768 1339 ns 1339 ns 521726 bytes_per_second=22.7997Gi/s BM_format_to_n_string_begin<std::string>/65536 3293 ns 3293 ns 212565 bytes_per_second=18.5337Gi/s BM_format_to_n_string_begin<std::string>/131072 6596 ns 6596 ns 106272 bytes_per_second=18.5063Gi/s BM_format_to_n_string_begin<std::string>/262144 14064 ns 14065 ns 49774 bytes_per_second=17.3584Gi/s BM_format_to_n_string_begin<std::string>/524288 29428 ns 29428 ns 23775 bytes_per_second=16.5921Gi/s BM_format_to_n_string_begin<std::string>/1048576 58666 ns 58666 ns 11893 bytes_per_second=16.6463Gi/s BM_format_to_n_string_begin<std::vector<char>>/1 48.0 ns 48.0 ns 14564573 bytes_per_second=19.8636Mi/s BM_format_to_n_string_begin<std::vector<char>>/2 48.4 ns 48.4 ns 14445531 bytes_per_second=39.372Mi/s BM_format_to_n_string_begin<std::vector<char>>/4 48.1 ns 48.1 ns 14579370 bytes_per_second=79.3003Mi/s BM_format_to_n_string_begin<std::vector<char>>/8 48.3 ns 48.3 ns 14510269 bytes_per_second=158.113Mi/s BM_format_to_n_string_begin<std::vector<char>>/16 48.4 ns 48.4 ns 14452809 bytes_per_second=314.976Mi/s BM_format_to_n_string_begin<std::vector<char>>/32 48.1 ns 48.1 ns 14578127 bytes_per_second=634.858Mi/s BM_format_to_n_string_begin<std::vector<char>>/64 48.4 ns 48.4 ns 14454174 bytes_per_second=1.2304Gi/s BM_format_to_n_string_begin<std::vector<char>>/128 48.4 ns 48.4 ns 14454299 bytes_per_second=2.46269Gi/s BM_format_to_n_string_begin<std::vector<char>>/256 49.1 ns 49.1 ns 14271076 bytes_per_second=4.85671Gi/s BM_format_to_n_string_begin<std::vector<char>>/512 52.6 ns 52.6 ns 13331231 bytes_per_second=9.06458Gi/s BM_format_to_n_string_begin<std::vector<char>>/1024 55.6 ns 55.6 ns 12610443 bytes_per_second=17.1486Gi/s BM_format_to_n_string_begin<std::vector<char>>/2048 67.0 ns 67.0 ns 10439580 bytes_per_second=28.476Gi/s BM_format_to_n_string_begin<std::vector<char>>/4096 97.6 ns 97.6 ns 7184733 bytes_per_second=39.1032Gi/s BM_format_to_n_string_begin<std::vector<char>>/8192 151 ns 151 ns 4633388 bytes_per_second=50.5215Gi/s BM_format_to_n_string_begin<std::vector<char>>/16384 315 ns 315 ns 2185686 bytes_per_second=48.4704Gi/s BM_format_to_n_string_begin<std::vector<char>>/32768 1345 ns 1345 ns 519043 bytes_per_second=22.6814Gi/s BM_format_to_n_string_begin<std::vector<char>>/65536 3295 ns 3295 ns 212381 bytes_per_second=18.5221Gi/s BM_format_to_n_string_begin<std::vector<char>>/131072 6591 ns 6590 ns 105414 bytes_per_second=18.5223Gi/s BM_format_to_n_string_begin<std::vector<char>>/262144 14084 ns 14084 ns 49765 bytes_per_second=17.3344Gi/s BM_format_to_n_string_begin<std::vector<char>>/524288 30239 ns 30238 ns 23144 bytes_per_second=16.1477Gi/s BM_format_to_n_string_begin<std::vector<char>>/1048576 60270 ns 60271 ns 11619 bytes_per_second=16.2028Gi/s BM_format_to_n_string_begin<std::list<char>>/1 50.9 ns 50.9 ns 13783105 bytes_per_second=18.7485Mi/s BM_format_to_n_string_begin<std::list<char>>/2 51.1 ns 51.1 ns 13641522 bytes_per_second=37.3058Mi/s BM_format_to_n_string_begin<std::list<char>>/4 52.9 ns 52.9 ns 13255629 bytes_per_second=72.1149Mi/s BM_format_to_n_string_begin<std::list<char>>/8 61.5 ns 61.5 ns 11386841 bytes_per_second=123.981Mi/s BM_format_to_n_string_begin<std::list<char>>/16 82.8 ns 82.9 ns 8448851 bytes_per_second=184.17Mi/s BM_format_to_n_string_begin<std::list<char>>/32 126 ns 126 ns 5558591 bytes_per_second=242.13Mi/s BM_format_to_n_string_begin<std::list<char>>/64 212 ns 212 ns 3298201 bytes_per_second=287.444Mi/s BM_format_to_n_string_begin<std::list<char>>/128 385 ns 385 ns 1820237 bytes_per_second=317.326Mi/s BM_format_to_n_string_begin<std::list<char>>/256 746 ns 746 ns 934390 bytes_per_second=327.096Mi/s BM_format_to_n_string_begin<std::list<char>>/512 1439 ns 1439 ns 487631 bytes_per_second=339.402Mi/s BM_format_to_n_string_begin<std::list<char>>/1024 2883 ns 2882 ns 242058 bytes_per_second=338.795Mi/s BM_format_to_n_string_begin<std::list<char>>/2048 5735 ns 5735 ns 121554 bytes_per_second=340.565Mi/s BM_format_to_n_string_begin<std::list<char>>/4096 11360 ns 11360 ns 61656 bytes_per_second=343.875Mi/s BM_format_to_n_string_begin<std::list<char>>/8192 23030 ns 23030 ns 30381 bytes_per_second=339.224Mi/s BM_format_to_n_string_begin<std::list<char>>/16384 45959 ns 45958 ns 15229 bytes_per_second=339.985Mi/s BM_format_to_n_string_begin<std::list<char>>/32768 91864 ns 91864 ns 7639 bytes_per_second=340.178Mi/s BM_format_to_n_string_begin<std::list<char>>/65536 183305 ns 183298 ns 3821 bytes_per_second=340.976Mi/s BM_format_to_n_string_begin<std::list<char>>/131072 375274 ns 375279 ns 1868 bytes_per_second=333.086Mi/s BM_format_to_n_string_begin<std::list<char>>/262144 863452 ns 863366 ns 811 bytes_per_second=289.564Mi/s BM_format_to_n_string_begin<std::list<char>>/524288 2044442 ns 2044356 ns 342 bytes_per_second=244.576Mi/s BM_format_to_n_string_begin<std::list<char>>/1048576 4349820 ns 4349352 ns 161 bytes_per_second=229.919Mi/s BM_format_to_n_string_span<char>/1 48.1 ns 48.1 ns 14575723 bytes_per_second=19.8447Mi/s BM_format_to_n_string_span<char>/2 48.5 ns 48.5 ns 14428140 bytes_per_second=39.3396Mi/s BM_format_to_n_string_span<char>/4 48.0 ns 48.0 ns 14559308 bytes_per_second=79.4032Mi/s BM_format_to_n_string_span<char>/8 48.3 ns 48.3 ns 14497844 bytes_per_second=157.973Mi/s BM_format_to_n_string_span<char>/16 48.5 ns 48.5 ns 14423850 bytes_per_second=314.497Mi/s BM_format_to_n_string_span<char>/32 48.5 ns 48.5 ns 14436875 bytes_per_second=629.449Mi/s BM_format_to_n_string_span<char>/64 48.5 ns 48.5 n…
|
@llvm/pr-subscribers-libcxx Author: Mark de Wever (mordante) Changes__format_to_n_buffer is not used in the public library interface so the changes are not an ABI break. Before
|
| [[nodiscard]] _LIBCPP_HIDE_FROM_ABI explicit __max_output_size(size_t __max_size) : __max_size_{__max_size} {} | ||
|
|
||
| // This function adjusts the size of a (bulk) write operations. It ensures the | ||
| // number of code units written by a __output_buffer never exceed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| // number of code units written by a __output_buffer never exceed | |
| // number of code units written by a __output_buffer never exceeds |
|
Abandoned, done in a different patch. |
__format_to_n_buffer is not used in the public library interface so the changes are not an ABI break.
Before
Benchmark Time CPU Time Old Time New CPU Old CPU New
BM_format_to_n_string_back_inserterstd::string/1 -0.0160 -0.0136 59 58 59 58
BM_format_to_n_string_back_inserterstd::string/2 +0.0020 +0.0044 58 59 58 59
BM_format_to_n_string_back_inserterstd::string/4 +0.0084 +0.0109 58 59 58 59
BM_format_to_n_string_back_inserterstd::string/8 -0.0014 +0.0014 59 59 58 59
BM_format_to_n_string_back_inserterstd::string/16 -0.0042 -0.0018 59 58 59 58
BM_format_to_n_string_back_inserterstd::string/32 -0.0136 -0.0112 78 77 78 77
BM_format_to_n_string_back_inserterstd::string/64 -0.0096 -0.0072 78 77 77 77
BM_format_to_n_string_back_inserterstd::string/128 -0.1486 -0.1465 91 77 91 77
BM_format_to_n_string_back_inserterstd::string/256 -0.1215 -0.1191 102 90 102 90
BM_format_to_n_string_back_inserterstd::string/512 -0.1412 -0.1391 158 136 158 136
BM_format_to_n_string_back_inserterstd::string/1024 -0.1135 -0.1114 290 257 289 257
BM_format_to_n_string_back_inserterstd::string/2048 -0.1551 -0.1530 489 413 488 413
BM_format_to_n_string_back_inserterstd::string/4096 -0.1665 -0.1642 801 668 799 668
BM_format_to_n_string_back_inserterstd::string/8192 -0.2301 -0.2282 1449 1116 1445 1116
BM_format_to_n_string_back_inserterstd::string/16384 -0.1988 -0.1965 2942 2357 2933 2357
BM_format_to_n_string_back_inserterstd::string/32768 -0.2129 -0.2109 5676 4467 5661 4467
BM_format_to_n_string_back_inserterstd::string/65536 -0.2469 -0.2449 12437 9366 12404 9366
BM_format_to_n_string_back_inserterstd::string/131072 -0.2294 -0.2274 25855 19923 25787 19923
BM_format_to_n_string_back_inserterstd::string/262144 -0.1906 -0.1885 52880 42798 52739 42798
BM_format_to_n_string_back_inserterstd::string/524288 -0.1898 -0.1876 107703 87261 107410 87257
BM_format_to_n_string_back_inserterstd::string/1048576 -0.2162 -0.2139 231479 181427 230781 181426
BM_format_to_n_string_back_inserter<std::vector>/1 -0.0035 -0.0007 72 72 72 72
BM_format_to_n_string_back_inserter<std::vector>/2 +0.0104 +0.0128 73 73 72 73
BM_format_to_n_string_back_inserter<std::vector>/4 -0.0022 +0.0003 74 74 74 74
BM_format_to_n_string_back_inserter<std::vector>/8 +0.0092 +0.0116 75 76 75 76
BM_format_to_n_string_back_inserter<std::vector>/16 -0.0019 +0.0005 79 79 79 79
BM_format_to_n_string_back_inserter<std::vector>/32 +0.0168 +0.0195 89 90 88 90
BM_format_to_n_string_back_inserter<std::vector>/64 -0.0077 -0.0054 91 90 90 90
BM_format_to_n_string_back_inserter<std::vector>/128 -0.1628 -0.1608 109 91 109 91
BM_format_to_n_string_back_inserter<std::vector>/256 -0.0994 -0.0971 120 108 119 108
BM_format_to_n_string_back_inserter<std::vector>/512 -0.1116 -0.1095 186 165 186 165
BM_format_to_n_string_back_inserter<std::vector>/1024 -0.1168 -0.1144 284 250 283 250
BM_format_to_n_string_back_inserter<std::vector>/2048 -0.1664 -0.1644 484 404 483 404
BM_format_to_n_string_back_inserter<std::vector>/4096 -0.2161 -0.2143 802 629 800 629
BM_format_to_n_string_back_inserter<std::vector>/8192 -0.2834 -0.2817 1469 1053 1466 1053
BM_format_to_n_string_back_inserter<std::vector>/16384 -0.2365 -0.2344 2700 2062 2693 2062
BM_format_to_n_string_back_inserter<std::vector>/32768 -0.2359 -0.2341 4979 3805 4967 3805
BM_format_to_n_string_back_inserter<std::vector>/65536 -0.2754 -0.2736 10431 7558 10405 7558
BM_format_to_n_string_back_inserter<std::vector>/131072 -0.2505 -0.2487 22646 16973 22591 16973
BM_format_to_n_string_back_inserter<std::vector>/262144 -0.1981 -0.1958 46278 37110 46148 37111
BM_format_to_n_string_back_inserter<std::vector>/524288 -0.2027 -0.2011 91695 73110 91511 73108
BM_format_to_n_string_back_inserter<std::vector>/1048576 -0.2367 -0.2348 195458 149194 194988 149197
BM_format_to_n_string_back_inserter<std::list>/1 +0.0045 +0.0068 66 66 65 66
BM_format_to_n_string_back_inserter<std::list>/2 +0.0068 +0.0092 79 79 79 79
BM_format_to_n_string_back_inserter<std::list>/4 -0.0026 +0.0001 107 107 107 107
BM_format_to_n_string_back_inserter<std::list>/8 +0.0498 +0.0523 171 180 171 180
BM_format_to_n_string_back_inserter<std::list>/16 +0.0100 +0.0124 331 334 330 334
BM_format_to_n_string_back_inserter<std::list>/32 +0.0320 +0.0345 641 662 640 662
BM_format_to_n_string_back_inserter<std::list>/64 +0.0242 +0.0270 1237 1267 1233 1267
BM_format_to_n_string_back_inserter<std::list>/128 +0.0025 +0.0047 2474 2480 2469 2480
BM_format_to_n_string_back_inserter<std::list>/256 -0.0122 -0.0098 4984 4923 4972 4924
BM_format_to_n_string_back_inserter<std::list>/512 +0.0074 +0.0098 9740 9812 9716 9811
BM_format_to_n_string_back_inserter<std::list>/1024 +0.0045 +0.0072 19503 19590 19451 19591
BM_format_to_n_string_back_inserter<std::list>/2048 +0.0021 +0.0046 39078 39161 38981 39159
BM_format_to_n_string_back_inserter<std::list>/4096 -0.0002 +0.0023 78329 78316 78132 78315
BM_format_to_n_string_back_inserter<std::list>/8192 +0.0001 +0.0026 156689 156709 156291 156699
BM_format_to_n_string_back_inserter<std::list>/16384 -0.0025 +0.0004 313624 312842 312732 312842
BM_format_to_n_string_back_inserter<std::list>/32768 -0.0009 +0.0017 630336 629744 628711 629751
BM_format_to_n_string_back_inserter<std::list>/65536 -0.0029 -0.0001 1261542 1257851 1258055 1257872
BM_format_to_n_string_back_inserter<std::list>/131072 -0.0047 -0.0016 2543001 2531022 2535000 2530835
BM_format_to_n_string_back_inserter<std::list>/262144 -0.0061 -0.0017 5214390 5182786 5191608 5182661
BM_format_to_n_string_back_inserter<std::list>/524288 -0.0079 -0.0040 10650366 10566644 10609616 10566709
BM_format_to_n_string_back_inserter<std::list>/1048576 -0.0165 -0.0108 21677130 21319849 21550764 21318080
BM_format_to_n_string_beginstd::string/1 -0.0931 -0.0909 54 49 54 49
BM_format_to_n_string_beginstd::string/2 -0.0861 -0.0839 53 48 53 48
BM_format_to_n_string_beginstd::string/4 -0.0872 -0.0847 53 49 53 49
BM_format_to_n_string_beginstd::string/8 -0.0963 -0.0939 54 48 54 48
BM_format_to_n_string_beginstd::string/16 -0.0969 -0.0947 54 48 54 48
BM_format_to_n_string_beginstd::string/32 -0.1108 -0.1086 54 48 54 48
BM_format_to_n_string_beginstd::string/64 -0.1107 -0.1086 54 48 54 48
BM_format_to_n_string_beginstd::string/128 -0.2054 -0.2036 61 48 61 48
BM_format_to_n_string_beginstd::string/256 -0.2768 -0.2751 69 50 69 50
BM_format_to_n_string_beginstd::string/512 -0.4127 -0.4112 90 53 89 53
BM_format_to_n_string_beginstd::string/1024 -0.5743 -0.5734 132 56 132 56
BM_format_to_n_string_beginstd::string/2048 -0.7063 -0.7056 229 67 228 67
BM_format_to_n_string_beginstd::string/4096 -0.7617 -0.7611 425 101 424 101
BM_format_to_n_string_beginstd::string/8192 -0.8153 -0.8148 812 150 810 150
BM_format_to_n_string_beginstd::string/16384 -0.8140 -0.8136 1656 308 1652 308
BM_format_to_n_string_beginstd::string/32768 -0.5789 -0.5779 3179 1339 3171 1339
BM_format_to_n_string_beginstd::string/65536 -0.5170 -0.5158 6818 3293 6802 3293
BM_format_to_n_string_beginstd::string/131072 -0.5552 -0.5539 14829 6596 14788 6596
BM_format_to_n_string_beginstd::string/262144 -0.5240 -0.5228 29547 14064 29471 14065
BM_format_to_n_string_beginstd::string/524288 -0.5049 -0.5036 59436 29428 59284 29428
BM_format_to_n_string_beginstd::string/1048576 -0.5123 -0.5110 120292 58666 119974 58666
BM_format_to_n_string_begin<std::vector>/1 -0.0947 -0.0925 53 48 53 48
BM_format_to_n_string_begin<std::vector>/2 -0.0859 -0.0834 53 48 53 48
BM_format_to_n_string_begin<std::vector>/4 -0.0913 -0.0892 53 48 53 48
BM_format_to_n_string_begin<std::vector>/8 -0.0808 -0.0786 52 48 52 48
BM_format_to_n_string_begin<std::vector>/16 -0.0808 -0.0786 53 48 53 48
BM_format_to_n_string_begin<std::vector>/32 -0.0921 -0.0899 53 48 53 48
BM_format_to_n_string_begin<std::vector>/64 -0.0918 -0.0897 53 48 53 48
BM_format_to_n_string_begin<std::vector>/128 -0.1769 -0.1747 59 48 59 48
BM_format_to_n_string_begin<std::vector>/256 -0.3249 -0.3233 73 49 73 49
BM_format_to_n_string_begin<std::vector>/512 -0.4552 -0.4539 97 53 96 53
BM_format_to_n_string_begin<std::vector>/1024 -0.5978 -0.5969 138 56 138 56
BM_format_to_n_string_begin<std::vector>/2048 -0.7152 -0.7144 235 67 235 67
BM_format_to_n_string_begin<std::vector>/4096 -0.7780 -0.7775 439 98 438 98
BM_format_to_n_string_begin<std::vector>/8192 -0.8230 -0.8226 853 151 851 151
BM_format_to_n_string_begin<std::vector>/16384 -0.8065 -0.8060 1627 315 1623 315
BM_format_to_n_string_begin<std::vector>/32768 -0.5823 -0.5811 3221 1345 3212 1345
BM_format_to_n_string_begin<std::vector>/65536 -0.5351 -0.5340 7089 3295 7072 3295
BM_format_to_n_string_begin<std::vector>/131072 -0.5683 -0.5672 15268 6591 15229 6590
BM_format_to_n_string_begin<std::vector>/262144 -0.5351 -0.5339 30296 14084 30219 14084
BM_format_to_n_string_begin<std::vector>/524288 -0.5061 -0.5049 61230 30239 61074 30238
BM_format_to_n_string_begin<std::vector>/1048576 -0.5143 -0.5128 124101 60270 123704 60271
BM_format_to_n_string_begin<std::list>/1 +0.0383 +0.0408 49 51 49 51
BM_format_to_n_string_begin<std::list>/2 +0.0278 +0.0301 50 51 50 51
BM_format_to_n_string_begin<std::list>/4 +0.0388 +0.0412 51 53 51 53
BM_format_to_n_string_begin<std::list>/8 -0.0386 -0.0360 64 62 64 62
BM_format_to_n_string_begin<std::list>/16 -0.0225 -0.0201 85 83 85 83
BM_format_to_n_string_begin<std::list>/32 -0.0095 -0.0071 127 126 127 126
BM_format_to_n_string_begin<std::list>/64 -0.0072 -0.0048 214 212 213 212
BM_format_to_n_string_begin<std::list>/128 -0.0117 -0.0092 389 385 388 385
BM_format_to_n_string_begin<std::list>/256 -0.0034 -0.0009 749 746 747 746
BM_format_to_n_string_begin<std::list>/512 -0.0098 -0.0074 1453 1439 1449 1439
BM_format_to_n_string_begin<std::list>/1024 +0.0109 +0.0132 2852 2883 2845 2882
BM_format_to_n_string_begin<std::list>/2048 +0.0088 +0.0113 5685 5735 5671 5735
BM_format_to_n_string_begin<std::list>/4096 +0.0043 +0.0068 11312 11360 11283 11360
BM_format_to_n_string_begin<std::list>/8192 +0.0171 +0.0197 22644 23030 22586 23030
BM_format_to_n_string_begin<std::list>/16384 +0.0146 +0.0172 45298 45959 45180 45958
BM_format_to_n_string_begin<std::list>/32768 +0.0167 +0.0195 90351 91864 90110 91864
BM_format_to_n_string_begin<std::list>/65536 +0.0150 +0.0180 180594 183305 180048 183298
BM_format_to_n_string_begin<std::list>/131072 +0.0060 +0.0092 373023 375274 371863 375279
BM_format_to_n_string_begin<std::list>/262144 -0.0354 -0.0318 895166 863452 891717 863366
BM_format_to_n_string_begin<std::list>/524288 -0.0745 -0.0712 2209006 2044442 2201104 2044356
BM_format_to_n_string_begin<std::list>/1048576 -0.0161 -0.0125 4421130 4349820 4404315 4349352
BM_format_to_n_string_span/1 -0.0987 -0.0965 53 48 53 48
BM_format_to_n_string_span/2 -0.0768 -0.0745 53 48 52 48
BM_format_to_n_string_span/4 -0.0904 -0.0882 53 48 53 48
BM_format_to_n_string_span/8 -0.0868 -0.0846 53 48 53 48
BM_format_to_n_string_span/16 -0.0957 -0.0932 54 49 54 49
BM_format_to_n_string_span/32 -0.0926 -0.0904 53 48 53 48
BM_format_to_n_string_span/64 -0.0923 -0.0876 53 48 53 48
BM_format_to_n_string_span/128 -0.1998 -0.1977 61 49 61 49
BM_format_to_n_string_span/256 -0.2900 -0.2883 69 49 69 49
BM_format_to_n_string_span/512 -0.4116 -0.4100 90 53 89 53
BM_format_to_n_string_span/1024 -0.5854 -0.5844 134 56 134 56
BM_format_to_n_string_span/2048 -0.7000 -0.6993 223 67 222 67
BM_format_to_n_string_span/4096 -0.7731 -0.7725 427 97 426 97
BM_format_to_n_string_span/8192 -0.8164 -0.8159 818 150 816 150
BM_format_to_n_string_span/16384 -0.3453 -0.3436 1622 1062 1617 1062
BM_format_to_n_string_span/32768 -0.5885 -0.5875 3137 1291 3129 1291
BM_format_to_n_string_span/65536 -0.5064 -0.5052 6698 3306 6682 3306
BM_format_to_n_string_span/131072 -0.5622 -0.5612 14925 6534 14888 6534
BM_format_to_n_string_span/262144 -0.5215 -0.5201 29688 14207 29603 14207
BM_format_to_n_string_span/524288 -0.4899 -0.4888 59308 30252 59180 30253
BM_format_to_n_string_span/1048576 -0.4927 -0.4913 118765 60247 118433 60248
BM_format_to_n_string_pointer/1 -0.0827 -0.0804 52 48 52 48
BM_format_to_n_string_pointer/2 -0.0843 -0.0821 53 48 53 48
BM_format_to_n_string_pointer/4 -0.0944 -0.0920 53 48 53 48
BM_format_to_n_string_pointer/8 -0.0875 -0.0853 53 48 53 48
BM_format_to_n_string_pointer/16 -0.0793 -0.0771 53 48 53 48
BM_format_to_n_string_pointer/32 -0.0767 -0.0743 52 48 52 48
BM_format_to_n_string_pointer/64 -0.0935 -0.0914 53 48 53 48
BM_format_to_n_string_pointer/128 -0.2203 -0.2182 62 49 62 49
BM_format_to_n_string_pointer/256 -0.2950 -0.2933 70 49 69 49
BM_format_to_n_string_pointer/512 -0.4038 -0.4025 88 53 88 53
BM_format_to_n_string_pointer/1024 -0.5755 -0.5745 131 56 131 56
BM_format_to_n_string_pointer/2048 -0.7043 -0.7036 226 67 225 67
BM_format_to_n_string_pointer/4096 -0.7726 -0.7719 426 97 425 97
BM_format_to_n_string_pointer/8192 -0.8157 -0.8153 815 150 813 150
BM_format_to_n_string_pointer/16384 -0.3490 -0.3473 1618 1053 1614 1053
BM_format_to_n_string_pointer/32768 -0.5880 -0.5870 3137 1293 3129 1292
BM_format_to_n_string_pointer/65536 -0.5062 -0.5048 6693 3305 6675 3305
BM_format_to_n_string_pointer/131072 -0.5617 -0.5606 14912 6536 14876 6536
BM_format_to_n_string_pointer/262144 -0.5206 -0.5194 29685 14230 29609 14230
BM_format_to_n_string_pointer/524288 -0.4884 -0.4873 59254 30316 59133 30315
BM_format_to_n_string_pointer/1048576 -0.4924 -0.4915 118746 60274 118523 60275