Platform of campaign bench-3.3-ucs4: Date: 2012-05-23 22:21:41 Platform: Linux-3.3.2-6.fc16.x86_64-x86_64-with-fedora-16-Verne Python version: 3.3.0a0 (default:0408001e4765, May 23 2012, 22:21:11) [GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] Python unicode implementation: PEP 393 CPU model: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz CFLAGS: -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes SCM: hg revision=0408001e4765 branch=default date="2011-10-06 14:41 -0700" Platform of campaign bench-3.3-accu: Date: 2012-05-23 22:25:39 Platform: Linux-3.3.2-6.fc16.x86_64-x86_64-with-fedora-16-Verne Python version: 3.3.0a3+ (default:0dd0d56bdcc1, May 23 2012, 22:25:05) [GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] Python unicode implementation: PEP 393 CPU model: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz CFLAGS: -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes SCM: hg revision=0dd0d56bdcc1 branch=default date="2012-05-07 12:03 +0100" Platform of campaign bench-3.3-writer: Date: 2012-05-23 22:30:44 Platform: Linux-3.3.2-6.fc16.x86_64-x86_64-with-fedora-16-Verne Python version: 3.3.0a3+ (default:faa88c50a3d2, May 23 2012, 22:30:11) [GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] Python unicode implementation: PEP 393 CPU model: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz CFLAGS: -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes SCM: hg revision=faa88c50a3d2 tag=tip branch=default date="2012-05-23 21:09 +0200" --------------------------------------------+----------------+----------------+----------------- Basic format, short ASCII output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer --------------------------------------------+----------------+----------------+----------------- fmt="{}"; arg="abc"; fmt.format(arg) | 194 ns (*) | 267 ns (+38%) | 138 ns (-29%) fmt="{}"; arg="\u20ac" * 3; fmt.format(arg) | 346 ns (*) | 277 ns (-20%) | 139 ns (-60%) fmt="{}"; arg=123; fmt.format(arg) | 241 ns (*) | 320 ns (+33%) | 189 ns (-22%) fmt="{}"; arg=12.345; fmt.format(arg) | 608 ns (*) | 685 ns (+13%) | 595 ns fmt="{}"; arg=2j; fmt.format(arg) | 643 ns (*) | 839 ns (+30%) | 477 ns (-26%) fmt="{}"; arg=1+2j; fmt.format(arg) | 869 ns (*) | 1000 ns (+15%) | 653 ns (-25%) fmt="{:d}"; arg=123; fmt.format(arg) | 391 ns (*) | 543 ns (+39%) | 229 ns (-41%) fmt="{:x}"; arg=123; fmt.format(arg) | 426 ns (*) | 485 ns (+14%) | 222 ns (-48%) fmt="%s"; arg="abc"; fmt % arg | 112 ns (*) | 114 ns | 57 ns (-49%) fmt="%s"; arg="\u20ac" * 3; fmt % arg | 118 ns (*) | 149 ns (+26%) | 57 ns (-52%) fmt="%s"; arg=123; fmt % arg | 166 ns (*) | 167 ns | 98 ns (-41%) fmt="%s"; arg=12.345; fmt % arg | 514 ns (*) | 513 ns | 444 ns (-14%) fmt="%s"; arg=2j; fmt % arg | 448 ns (*) | 414 ns (-8%) | 366 ns (-18%) fmt="%s"; arg=1+2j; fmt % arg | 670 ns (*) | 619 ns (-8%) | 539 ns (-20%) fmt="%d"; arg=123; fmt % arg | 237 ns (*) | 170 ns (-28%) | 101 ns (-57%) fmt="%x"; arg=123; fmt % arg | 274 ns (*) | 204 ns (-26%) | 97 ns (-65%) --------------------------------------------+----------------+----------------+----------------- Total | 6.26 us (*) | 6.76 us (+8%) | 4.4 us (-30%) --------------------------------------------+----------------+----------------+----------------- -----------------------------------------------+----------------+----------------+----------------- Basic format, long output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -----------------------------------------------+----------------+----------------+----------------- fmt="{}"; arg="A" * 4096; fmt.format(arg) | 16.6 us (*) | 454 ns (-97%) | 138 ns (-99%) fmt="{}"; arg="\u20ac" * 4096; fmt.format(arg) | 30.4 us (*) | 542 ns (-98%) | 140 ns (-100%) fmt="{}"; arg=2**4096 - 1; fmt.format(arg) | 39.1 us (*) | 34.3 us (-12%) | 34 us (-13%) fmt="%s"; arg="A" * 4096; fmt % arg | 8.27 us (*) | 279 ns (-97%) | 56 ns (-99%) fmt="%s"; arg="\u20ac" * 4096; fmt % arg | 8.39 us (*) | 355 ns (-96%) | 56 ns (-99%) fmt="%s"; arg=2**4096 - 1; fmt % arg | 36.5 us (*) | 34.1 us (-7%) | 33.8 us (-7%) fmt="{:d}"; arg=2**4096 - 1; fmt.format(arg) | 39.4 us (*) | 34.9 us (-11%) | 34 us (-14%) fmt="{:x}"; arg=2**4096 - 1; fmt.format(arg) | 6.63 us (*) | 2.33 us (-65%) | 1.98 us (-70%) fmt="%d"; arg=2**4096 - 1; fmt % arg | 37 us (*) | 34.3 us (-7%) | 33.8 us (-9%) fmt="%x"; arg=2**4096 - 1; fmt % arg | 4.6 us (*) | 2 us (-57%) | 1.82 us (-60%) -----------------------------------------------+----------------+----------------+----------------- Total | 227 us (*) | 143 us (-37%) | 140 us (-38%) -----------------------------------------------+----------------+----------------+----------------- -------------------------------------------------------------+----------------+----------------+----------------- Basic format, huge output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -------------------------------------------------------------+----------------+----------------+----------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 45.7 ms (*) | 1.62 ms (-96%) | 138 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 28.9 ms (*) | 3.11 ms (-89%) | 56 ns (-100%) fmt="{}"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 77.7 ms (*) | 3.34 ms (-96%) | 139 ns (-100%) fmt="%s"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 31.7 ms (*) | 5.71 ms (-82%) | 58 ns (-100%) fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.8 ms (*) | 28.7 ms | 28.9 ms fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 28.9 ms (*) | 28.7 ms | 28.7 ms -------------------------------------------------------------+----------------+----------------+----------------- Total | 242 ms (*) | 71.2 ms (-71%) | 57.6 ms (-76%) -------------------------------------------------------------+----------------+----------------+----------------- ----------------------------------------------+----------------+----------------+----------------- One argument with ASCII prefix, short output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer ----------------------------------------------+----------------+----------------+----------------- fmt="x={}"; arg="abc"; fmt.format(arg) | 209 ns (*) | 305 ns (+46%) | 216 ns fmt="x={}"; arg="\u20ac" * 3; fmt.format(arg) | 378 ns (*) | 309 ns (-18%) | 258 ns (-32%) fmt="x={}"; arg=123; fmt.format(arg) | 256 ns (*) | 354 ns (+38%) | 233 ns (-9%) fmt="x={}"; arg=12.345; fmt.format(arg) | 615 ns (*) | 712 ns (+16%) | 671 ns (+9%) fmt="x={}"; arg=2j; fmt.format(arg) | 665 ns (*) | 864 ns (+30%) | 563 ns (-15%) fmt="x={}"; arg=1+2j; fmt.format(arg) | 884 ns (*) | 1.05 us (+19%) | 731 ns (-17%) fmt="x=%s"; arg="abc"; fmt % arg | 126 ns (*) | 132 ns | 129 ns fmt="x=%s"; arg="\u20ac" * 3; fmt % arg | 132 ns (*) | 180 ns (+37%) | 177 ns (+34%) fmt="x=%s"; arg=123; fmt % arg | 183 ns (*) | 183 ns | 143 ns (-22%) fmt="x=%s"; arg=12.345; fmt % arg | 531 ns (*) | 530 ns | 532 ns fmt="x=%s"; arg=2j; fmt % arg | 462 ns (*) | 430 ns (-7%) | 446 ns fmt="x=%s"; arg=1+2j; fmt % arg | 690 ns (*) | 629 ns (-9%) | 631 ns (-9%) ----------------------------------------------+----------------+----------------+----------------- Total | 5.13 us (*) | 5.68 us (+11%) | 4.73 us (-8%) ----------------------------------------------+----------------+----------------+----------------- ---------------------------------------------+----------------+----------------+----------------- One argument with ASCII suffix, short output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer ---------------------------------------------+----------------+----------------+----------------- fmt="{}:"; arg="abc"; fmt.format(arg) | 215 ns (*) | 307 ns (+43%) | 222 ns fmt="{}:"; arg="\u20ac" * 3; fmt.format(arg) | 382 ns (*) | 322 ns (-16%) | 227 ns (-41%) fmt="{}:"; arg=123; fmt.format(arg) | 261 ns (*) | 367 ns (+40%) | 244 ns (-7%) fmt="{}:"; arg=12.345; fmt.format(arg) | 630 ns (*) | 724 ns (+15%) | 695 ns (+10%) fmt="{}:"; arg=2j; fmt.format(arg) | 670 ns (*) | 895 ns (+34%) | 556 ns (-17%) fmt="{}:"; arg=1+2j; fmt.format(arg) | 906 ns (*) | 1.06 us (+17%) | 736 ns (-19%) fmt="%s:"; arg="abc"; fmt % arg | 119 ns (*) | 131 ns (+10%) | 129 ns (+9%) fmt="%s:"; arg="\u20ac" * 3; fmt % arg | 124 ns (*) | 167 ns (+35%) | 136 ns (+9%) fmt="%s:"; arg=123; fmt % arg | 174 ns (*) | 182 ns | 144 ns (-17%) fmt="%s:"; arg=12.345; fmt % arg | 519 ns (*) | 541 ns | 529 ns fmt="%s:"; arg=2j; fmt % arg | 456 ns (*) | 430 ns (-6%) | 448 ns fmt="%s:"; arg=1+2j; fmt % arg | 672 ns (*) | 641 ns | 623 ns (-7%) ---------------------------------------------+----------------+----------------+----------------- Total | 5.13 us (*) | 5.76 us (+12%) | 4.69 us (-9%) ---------------------------------------------+----------------+----------------+----------------- ------------------------------------------------------+----------------+----------------+----------------- One argument with BMP prefix and suffix, short output | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer ------------------------------------------------------+----------------+----------------+----------------- fmt="\u20ac[{}]"; arg="abc"; fmt.format(arg) | 397 ns (*) | 380 ns | 258 ns (-35%) fmt="\u20ac[{}]"; arg="\u20ac" * 3; fmt.format(arg) | 401 ns (*) | 392 ns | 269 ns (-33%) fmt="\u20ac[{}]"; arg=123; fmt.format(arg) | 458 ns (*) | 429 ns (-6%) | 277 ns (-39%) fmt="\u20ac[{}]"; arg=12.345; fmt.format(arg) | 864 ns (*) | 896 ns | 758 ns (-12%) fmt="\u20ac[{}]"; arg=2j; fmt.format(arg) | 899 ns (*) | 1.05 us (+17%) | 627 ns (-30%) fmt="\u20ac[{}]"; arg=1+2j; fmt.format(arg) | 1.13 us (*) | 1.26 us (+11%) | 797 ns (-30%) fmt="\u20ac[%s]"; arg="abc"; fmt % arg | 135 ns (*) | 196 ns (+46%) | 165 ns (+23%) fmt="\u20ac[%s]"; arg="\u20ac" * 3; fmt % arg | 135 ns (*) | 194 ns (+44%) | 176 ns (+30%) fmt="\u20ac[%s]"; arg=123; fmt % arg | 187 ns (*) | 247 ns (+32%) | 177 ns (-5%) fmt="\u20ac[%s]"; arg=12.345; fmt % arg | 523 ns (*) | 592 ns (+13%) | 567 ns (+8%) fmt="\u20ac[%s]"; arg=2j; fmt % arg | 462 ns (*) | 506 ns (+9%) | 490 ns (+6%) fmt="\u20ac[%s]"; arg=1+2j; fmt % arg | 683 ns (*) | 713 ns | 658 ns ------------------------------------------------------+----------------+----------------+----------------- Total | 6.28 us (*) | 6.86 us (+9%) | 5.22 us (-17%) ------------------------------------------------------+----------------+----------------+----------------- -----------------------------------------------------------------+----------------+----------------+----------------- Huge long output with prefix and suffix | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -----------------------------------------------------------------+----------------+----------------+----------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 45.7 ms (*) | 1.61 ms (-96%) | 139 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 29 ms (*) | 1.6 ms (-94%) | 56 ns (-100%) fmt="x=[{}]"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 45.6 ms (*) | 1.59 ms (-97%) | 1.73 ms (-96%) fmt="x=[%s]"; arg="A" * (10 * 1024 * 1024); fmt % arg | 29.1 ms (*) | 1.58 ms (-95%) | 1.73 ms (-94%) fmt="{}"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 77.3 ms (*) | 3.33 ms (-96%) | 139 ns (-100%) fmt="%s"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 31.8 ms (*) | 5.79 ms (-82%) | 57 ns (-100%) fmt="x=[{}]"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 77.2 ms (*) | 3.39 ms (-96%) | 5.51 ms (-93%) fmt="x=[%s]"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 31.8 ms (*) | 5.75 ms (-82%) | 5.48 ms (-83%) fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.9 ms (*) | 28.7 ms | 28.7 ms fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 28.9 ms (*) | 28.7 ms | 28.6 ms fmt="x=[{}]"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.9 ms (*) | 28.7 ms | 28.8 ms fmt="x=[%s]"; arg=2 ** 123456 - 1; fmt % arg | 28.8 ms (*) | 28.7 ms | 28.7 ms -----------------------------------------------------------------+----------------+----------------+----------------- Total | 483 ms (*) | 140 ms (-71%) | 129 ms (-73%) -----------------------------------------------------------------+----------------+----------------+----------------- --------------------------------------------------------------+----------------+----------------+----------------- Many short arguments | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer --------------------------------------------------------------+----------------+----------------+----------------- fmt="{0}"*1024; fmt.format("abc") | 84.7 us (*) | 105 us (+24%) | 69.4 us (-18%) fmt="{0}"*1024; fmt.format("\u20ac" * 3) | 89.5 us (*) | 111 us (+24%) | 69.1 us (-23%) fmt="{0}"*1024; fmt.format(123) | 133 us (*) | 161 us (+21%) | 88.5 us (-34%) fmt="{0}"*1024; fmt.format(12.345) | 476 us (*) | 487 us | 445 us (-6%) fmt="{0}"*1024; fmt.format(2j) | 537 us (*) | 575 us (+7%) | 371 us (-31%) fmt="{0}"*1024; fmt.format(1+2j) | 774 us (*) | 777 us | 543 us (-30%) fmt="{0}{1}"*1024; fmt.format("abc", 123) | 218 us (*) | 265 us (+22%) | 158 us (-27%) fmt="{0}{1}{2}"*1024; fmt.format("abc", "\u20ac" * 3, 123) | 319 us (*) | 399 us (+25%) | 229 us (-28%) fmt="{0}-"*1024; fmt.format("abc") | 93.1 us (*) | 110 us (+18%) | 82 us (-12%) fmt="{0}-"*1024; fmt.format(123) | 142 us (*) | 168 us (+18%) | 103 us (-27%) fmt="{0}-{1}="*1024; fmt.format("abc", 123) | 235 us (*) | 286 us (+22%) | 186 us (-21%) fmt="{0}-{1}={2}#"*1024; fmt.format("abc", "\u20ac" * 3, 123) | 346 us (*) | 429 us (+24%) | 277 us (-20%) --------------------------------------------------------------+----------------+----------------+----------------- Total | 3.45 ms (*) | 3.87 ms (+12%) | 2.62 ms (-24%) --------------------------------------------------------------+----------------+----------------+----------------- --------------------------------------------------------------------------------------------+----------------+----------------+----------------- Many long arguments | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer --------------------------------------------------------------------------------------------+----------------+----------------+----------------- fmt="{0}"*1024; arg="A" * 4096; fmt.format(arg) | 19.1 ms (*) | 274 us (-99%) | 217 us (-99%) fmt="{0}"*1024; arg="\u20ac" * 4096; fmt.format(arg) | 21.8 ms (*) | 805 us (-96%) | 718 us (-97%) fmt="{0}"*1024; arg=2**4096 - 1; fmt.format(arg) | 40.8 ms (*) | 34.9 ms (-14%) | 34.7 ms (-15%) fmt="{0}{1}"*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 59.5 ms (*) | 35.4 ms (-41%) | 34.8 ms (-41%) fmt="{0}{1}{2}"*1024; args=("A" * 4096, "\u20ac" * 4096, 2**4096 - 1); fmt.format(*args) | 89.6 ms (*) | 38 ms (-58%) | 37.3 ms (-58%) fmt="{0}-"*1024; arg="A" * 4096; fmt.format(arg) | 19.1 ms (*) | 302 us (-98%) | 295 us (-98%) fmt="{0}-"*1024; arg=2**4096 - 1; fmt.format(arg) | 40.9 ms (*) | 34.9 ms (-15%) | 34.7 ms (-15%) fmt="{0}-{1}="*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 59.8 ms (*) | 35.5 ms (-41%) | 35 ms (-41%) fmt="{0}-{1}={2}#"*1024; args=("A" * 4096, "\u20ac" * 4096, 2**4096 - 1); fmt.format(*args) | 89.8 ms (*) | 38.1 ms (-58%) | 37.2 ms (-59%) --------------------------------------------------------------------------------------------+----------------+----------------+----------------- Total | 440 ms (*) | 218 ms (-50%) | 215 ms (-51%) --------------------------------------------------------------------------------------------+----------------+----------------+----------------- -----------------------------------------------------------------------------------------+----------------+----------------+----------------- Keywords | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -----------------------------------------------------------------------------------------+----------------+----------------+----------------- s="The {k1} is {k2} the {k3}."; args={"k1": "x", "k2": "y", "k3": "z"}; s.format(**args) | 727 ns (*) | 936 ns (+29%) | 640 ns (-12%) s="The %(k1)s is %(k2)s the %(k3)s."; args={"k1":"x","k2":"y","k3":"z",}; s % args | 442 ns (*) | 480 ns (+9%) | 450 ns -----------------------------------------------------------------------------------------+----------------+----------------+----------------- Total | 1.17 us (*) | 1.42 us (+21%) | 1.09 us (-7%) -----------------------------------------------------------------------------------------+----------------+----------------+----------------- -----------------------------------------+----------------+----------------+----------------- Align to 10 characters | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -----------------------------------------+----------------+----------------+----------------- fmt="{:<10}"; arg="abc"; fmt.format(arg) | 306 ns (*) | 343 ns (+12%) | 226 ns (-26%) fmt="{:<10}"; arg=123; fmt.format(arg) | 436 ns (*) | 563 ns (+29%) | 381 ns (-13%) fmt="{:>10}"; arg="abc"; fmt.format(arg) | 306 ns (*) | 344 ns (+12%) | 227 ns (-26%) fmt="{:>10}"; arg=123; fmt.format(arg) | 425 ns (*) | 548 ns (+29%) | 382 ns (-10%) fmt="{:^10}"; arg="abc"; fmt.format(arg) | 310 ns (*) | 352 ns (+14%) | 238 ns (-23%) fmt="{:^10}"; arg=123; fmt.format(arg) | 436 ns (*) | 562 ns (+29%) | 391 ns (-10%) -----------------------------------------+----------------+----------------+----------------- Total | 2.22 us (*) | 2.71 us (+22%) | 1.84 us (-17%) -----------------------------------------+----------------+----------------+----------------- -------------------------------------------+----------------+----------------+----------------- Align to 4096 characters | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -------------------------------------------+----------------+----------------+----------------- fmt="{:<4096}"; arg="abc"; fmt.format(arg) | 18.5 us (*) | 680 ns (-96%) | 380 ns (-98%) fmt="{:<4096}"; arg=123; fmt.format(arg) | 19.2 us (*) | 959 ns (-95%) | 538 ns (-97%) fmt="{:>4096}"; arg="abc"; fmt.format(arg) | 18.5 us (*) | 681 ns (-96%) | 375 ns (-98%) fmt="{:>4096}"; arg=123; fmt.format(arg) | 19.3 us (*) | 932 ns (-95%) | 530 ns (-97%) fmt="{:^4096}"; arg="abc"; fmt.format(arg) | 18.6 us (*) | 691 ns (-96%) | 404 ns (-98%) fmt="{:^4096}"; arg=123; fmt.format(arg) | 19.2 us (*) | 960 ns (-95%) | 558 ns (-97%) -------------------------------------------+----------------+----------------+----------------- Total | 113 us (*) | 4.9 us (-96%) | 2.78 us (-98%) -------------------------------------------+----------------+----------------+----------------- -------------------------------------------------+----------------+----------------+----------------- Format number in the locale | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer -------------------------------------------------+----------------+----------------+----------------- fmt="{:,}"; arg=123; fmt.format(arg) | 392 ns (*) | 541 ns (+38%) | 365 ns (-7%) fmt="{:,}"; arg=2**4096 - 1; fmt.format(arg) | 47.2 us (*) | 41.6 us (-12%) | 40.6 us (-14%) fmt="{:,}"; arg=2 ** 123456 - 1; fmt.format(arg) | 29.1 ms (*) | 28.4 ms | 28.9 ms -------------------------------------------------+----------------+----------------+----------------- Total | 29.1 ms (*) | 28.5 ms | 28.9 ms -------------------------------------------------+----------------+----------------+----------------- ------------------------------------+----------------+----------------+----------------- str(int) | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer ------------------------------------+----------------+----------------+----------------- number=123; str(number) | 147 ns (*) | 201 ns (+37%) | 185 ns (+26%) number=2**4096 - 1; str(number) | 33.9 us (*) | 34.3 us | 34 us number=2 ** 123456 - 1; str(number) | 28.8 ms (*) | 28.8 ms | 28.8 ms ------------------------------------+----------------+----------------+----------------- Total | 28.8 ms (*) | 28.8 ms | 28.8 ms ------------------------------------+----------------+----------------+----------------- ------------------------------------------------------+----------------+----------------+----------------- Summary | bench-3.3-ucs4 | bench-3.3-accu | bench-3.3-writer ------------------------------------------------------+----------------+----------------+----------------- Basic format, short ASCII output | 6.26 us (*) | 6.76 us (+8%) | 4.4 us (-30%) Basic format, long output | 227 us (*) | 143 us (-37%) | 140 us (-38%) Basic format, huge output | 242 ms (*) | 71.2 ms (-71%) | 57.6 ms (-76%) One argument with ASCII prefix, short output | 5.13 us (*) | 5.68 us (+11%) | 4.73 us (-8%) One argument with ASCII suffix, short output | 5.13 us (*) | 5.76 us (+12%) | 4.69 us (-9%) One argument with BMP prefix and suffix, short output | 6.28 us (*) | 6.86 us (+9%) | 5.22 us (-17%) Huge long output with prefix and suffix | 483 ms (*) | 140 ms (-71%) | 129 ms (-73%) Many short arguments | 3.45 ms (*) | 3.87 ms (+12%) | 2.62 ms (-24%) Many long arguments | 440 ms (*) | 218 ms (-50%) | 215 ms (-51%) Keywords | 1.17 us (*) | 1.42 us (+21%) | 1.09 us (-7%) Align to 10 characters | 2.22 us (*) | 2.71 us (+22%) | 1.84 us (-17%) Align to 4096 characters | 113 us (*) | 4.9 us (-96%) | 2.78 us (-98%) Format number in the locale | 29.1 ms (*) | 28.5 ms | 28.9 ms str(int) | 28.8 ms (*) | 28.8 ms | 28.8 ms ------------------------------------------------------+----------------+----------------+----------------- Total | 1.23 sec (*) | 490 ms (-60%) | 462 ms (-62%) ------------------------------------------------------+----------------+----------------+-----------------