Platform of campaign bench-3.3: Date: 2012-05-23 22:40:59 Platform: Linux-3.3.2-6.fc16.x86_64-x86_64-with-fedora-16-Verne Python version: 3.3.0a3+ (default:befd56673c80, May 20 2012, 02:38:10) [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=befd56673c80 tag=tip branch=default date="2012-05-20 02:34 +1000" 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 | bench-3.3-writer --------------------------------------------+-------------+----------------- fmt="{}"; arg="abc"; fmt.format(arg) | 192 ns (*) | 138 ns (-28%) fmt="{}"; arg="\u20ac" * 3; fmt.format(arg) | 228 ns (*) | 139 ns (-39%) fmt="{}"; arg=123; fmt.format(arg) | 243 ns (*) | 189 ns (-22%) fmt="{}"; arg=12.345; fmt.format(arg) | 588 ns (*) | 595 ns fmt="{}"; arg=2j; fmt.format(arg) | 656 ns (*) | 477 ns (-27%) fmt="{}"; arg=1+2j; fmt.format(arg) | 831 ns (*) | 653 ns (-21%) fmt="{:d}"; arg=123; fmt.format(arg) | 389 ns (*) | 229 ns (-41%) fmt="{:x}"; arg=123; fmt.format(arg) | 380 ns (*) | 222 ns (-42%) fmt="%s"; arg="abc"; fmt % arg | 116 ns (*) | 57 ns (-51%) fmt="%s"; arg="\u20ac" * 3; fmt % arg | 151 ns (*) | 57 ns (-62%) fmt="%s"; arg=123; fmt % arg | 169 ns (*) | 98 ns (-42%) fmt="%s"; arg=12.345; fmt % arg | 496 ns (*) | 444 ns (-10%) fmt="%s"; arg=2j; fmt % arg | 425 ns (*) | 366 ns (-14%) fmt="%s"; arg=1+2j; fmt % arg | 582 ns (*) | 539 ns (-7%) fmt="%d"; arg=123; fmt % arg | 176 ns (*) | 101 ns (-43%) fmt="%x"; arg=123; fmt % arg | 204 ns (*) | 97 ns (-52%) --------------------------------------------+-------------+----------------- Total | 5.82 us (*) | 4.4 us (-24%) --------------------------------------------+-------------+----------------- -----------------------------------------------+-------------+----------------- Basic format, long output | bench-3.3 | bench-3.3-writer -----------------------------------------------+-------------+----------------- fmt="{}"; arg="A" * 4096; fmt.format(arg) | 381 ns (*) | 138 ns (-64%) fmt="{}"; arg="\u20ac" * 4096; fmt.format(arg) | 457 ns (*) | 140 ns (-69%) fmt="{}"; arg=2**4096 - 1; fmt.format(arg) | 34.2 us (*) | 34 us fmt="%s"; arg="A" * 4096; fmt % arg | 304 ns (*) | 56 ns (-82%) fmt="%s"; arg="\u20ac" * 4096; fmt % arg | 378 ns (*) | 56 ns (-85%) fmt="%s"; arg=2**4096 - 1; fmt % arg | 34 us (*) | 33.8 us fmt="{:d}"; arg=2**4096 - 1; fmt.format(arg) | 34.5 us (*) | 34 us fmt="{:x}"; arg=2**4096 - 1; fmt.format(arg) | 2.27 us (*) | 1.98 us (-13%) fmt="%d"; arg=2**4096 - 1; fmt % arg | 34 us (*) | 33.8 us fmt="%x"; arg=2**4096 - 1; fmt % arg | 2 us (*) | 1.82 us (-9%) -----------------------------------------------+-------------+----------------- Total | 143 us (*) | 140 us -----------------------------------------------+-------------+----------------- -------------------------------------------------------------+-------------+----------------- Basic format, huge output | bench-3.3 | bench-3.3-writer -------------------------------------------------------------+-------------+----------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 2.71 ms (*) | 138 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 2.71 ms (*) | 56 ns (-100%) fmt="{}"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 5.46 ms (*) | 139 ns (-100%) fmt="%s"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 5.44 ms (*) | 58 ns (-100%) fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.8 ms (*) | 28.9 ms fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 28.7 ms (*) | 28.7 ms -------------------------------------------------------------+-------------+----------------- Total | 73.8 ms (*) | 57.6 ms (-22%) -------------------------------------------------------------+-------------+----------------- ----------------------------------------------+-------------+----------------- One argument with ASCII prefix, short output | bench-3.3 | bench-3.3-writer ----------------------------------------------+-------------+----------------- fmt="x={}"; arg="abc"; fmt.format(arg) | 206 ns (*) | 216 ns fmt="x={}"; arg="\u20ac" * 3; fmt.format(arg) | 255 ns (*) | 258 ns fmt="x={}"; arg=123; fmt.format(arg) | 257 ns (*) | 233 ns (-9%) fmt="x={}"; arg=12.345; fmt.format(arg) | 613 ns (*) | 671 ns (+9%) fmt="x={}"; arg=2j; fmt.format(arg) | 687 ns (*) | 563 ns (-18%) fmt="x={}"; arg=1+2j; fmt.format(arg) | 846 ns (*) | 731 ns (-14%) fmt="x=%s"; arg="abc"; fmt % arg | 131 ns (*) | 129 ns fmt="x=%s"; arg="\u20ac" * 3; fmt % arg | 180 ns (*) | 177 ns fmt="x=%s"; arg=123; fmt % arg | 181 ns (*) | 143 ns (-21%) fmt="x=%s"; arg=12.345; fmt % arg | 522 ns (*) | 532 ns fmt="x=%s"; arg=2j; fmt % arg | 439 ns (*) | 446 ns fmt="x=%s"; arg=1+2j; fmt % arg | 600 ns (*) | 631 ns (+5%) ----------------------------------------------+-------------+----------------- Total | 4.92 us (*) | 4.73 us ----------------------------------------------+-------------+----------------- ---------------------------------------------+-------------+----------------- One argument with ASCII suffix, short output | bench-3.3 | bench-3.3-writer ---------------------------------------------+-------------+----------------- fmt="{}:"; arg="abc"; fmt.format(arg) | 217 ns (*) | 222 ns fmt="{}:"; arg="\u20ac" * 3; fmt.format(arg) | 257 ns (*) | 227 ns (-12%) fmt="{}:"; arg=123; fmt.format(arg) | 262 ns (*) | 244 ns (-7%) fmt="{}:"; arg=12.345; fmt.format(arg) | 620 ns (*) | 695 ns (+12%) fmt="{}:"; arg=2j; fmt.format(arg) | 698 ns (*) | 556 ns (-20%) fmt="{}:"; arg=1+2j; fmt.format(arg) | 857 ns (*) | 736 ns (-14%) fmt="%s:"; arg="abc"; fmt % arg | 145 ns (*) | 129 ns (-11%) fmt="%s:"; arg="\u20ac" * 3; fmt % arg | 170 ns (*) | 136 ns (-20%) fmt="%s:"; arg=123; fmt % arg | 197 ns (*) | 144 ns (-27%) fmt="%s:"; arg=12.345; fmt % arg | 539 ns (*) | 529 ns fmt="%s:"; arg=2j; fmt % arg | 455 ns (*) | 448 ns fmt="%s:"; arg=1+2j; fmt % arg | 625 ns (*) | 623 ns ---------------------------------------------+-------------+----------------- Total | 5.04 us (*) | 4.69 us (-7%) ---------------------------------------------+-------------+----------------- ------------------------------------------------------+-------------+----------------- One argument with BMP prefix and suffix, short output | bench-3.3 | bench-3.3-writer ------------------------------------------------------+-------------+----------------- fmt="\u20ac[{}]"; arg="abc"; fmt.format(arg) | 285 ns (*) | 258 ns (-9%) fmt="\u20ac[{}]"; arg="\u20ac" * 3; fmt.format(arg) | 284 ns (*) | 269 ns (-5%) fmt="\u20ac[{}]"; arg=123; fmt.format(arg) | 332 ns (*) | 277 ns (-17%) fmt="\u20ac[{}]"; arg=12.345; fmt.format(arg) | 750 ns (*) | 758 ns fmt="\u20ac[{}]"; arg=2j; fmt.format(arg) | 806 ns (*) | 627 ns (-22%) fmt="\u20ac[{}]"; arg=1+2j; fmt.format(arg) | 964 ns (*) | 797 ns (-17%) fmt="\u20ac[%s]"; arg="abc"; fmt % arg | 224 ns (*) | 165 ns (-26%) fmt="\u20ac[%s]"; arg="\u20ac" * 3; fmt % arg | 207 ns (*) | 176 ns (-15%) fmt="\u20ac[%s]"; arg=123; fmt % arg | 264 ns (*) | 177 ns (-33%) fmt="\u20ac[%s]"; arg=12.345; fmt % arg | 607 ns (*) | 567 ns (-7%) fmt="\u20ac[%s]"; arg=2j; fmt % arg | 522 ns (*) | 490 ns (-6%) fmt="\u20ac[%s]"; arg=1+2j; fmt % arg | 686 ns (*) | 658 ns ------------------------------------------------------+-------------+----------------- Total | 5.93 us (*) | 5.22 us (-12%) ------------------------------------------------------+-------------+----------------- -----------------------------------------------------------------+-------------+----------------- Huge long output with prefix and suffix | bench-3.3 | bench-3.3-writer -----------------------------------------------------------------+-------------+----------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 1.57 ms (*) | 139 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 1.56 ms (*) | 56 ns (-100%) fmt="x=[{}]"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 1.58 ms (*) | 1.73 ms (+10%) fmt="x=[%s]"; arg="A" * (10 * 1024 * 1024); fmt % arg | 1.58 ms (*) | 1.73 ms (+10%) fmt="{}"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 5.46 ms (*) | 139 ns (-100%) fmt="%s"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 5.46 ms (*) | 57 ns (-100%) fmt="x=[{}]"; arg="\u20ac" * (10 * 1024 * 1024); fmt.format(arg) | 5.47 ms (*) | 5.51 ms fmt="x=[%s]"; arg="\u20ac" * (10 * 1024 * 1024); fmt % arg | 5.47 ms (*) | 5.48 ms fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.3 ms (*) | 28.7 ms fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 28.8 ms (*) | 28.6 ms fmt="x=[{}]"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.8 ms (*) | 28.8 ms fmt="x=[%s]"; arg=2 ** 123456 - 1; fmt % arg | 28.8 ms (*) | 28.7 ms -----------------------------------------------------------------+-------------+----------------- Total | 143 ms (*) | 129 ms (-10%) -----------------------------------------------------------------+-------------+----------------- --------------------------------------------------------------+-------------+----------------- Many short arguments | bench-3.3 | bench-3.3-writer --------------------------------------------------------------+-------------+----------------- fmt="{0}"*1024; fmt.format("abc") | 66.6 us (*) | 69.4 us fmt="{0}"*1024; fmt.format("\u20ac" * 3) | 67.1 us (*) | 69.1 us fmt="{0}"*1024; fmt.format(123) | 119 us (*) | 88.5 us (-26%) fmt="{0}"*1024; fmt.format(12.345) | 451 us (*) | 445 us fmt="{0}"*1024; fmt.format(2j) | 532 us (*) | 371 us (-30%) fmt="{0}"*1024; fmt.format(1+2j) | 709 us (*) | 543 us (-23%) fmt="{0}{1}"*1024; fmt.format("abc", 123) | 186 us (*) | 158 us (-15%) fmt="{0}{1}{2}"*1024; fmt.format("abc", "\u20ac" * 3, 123) | 264 us (*) | 229 us (-13%) fmt="{0}-"*1024; fmt.format("abc") | 82.7 us (*) | 82 us fmt="{0}-"*1024; fmt.format(123) | 136 us (*) | 103 us (-24%) fmt="{0}-{1}="*1024; fmt.format("abc", 123) | 222 us (*) | 186 us (-16%) fmt="{0}-{1}={2}#"*1024; fmt.format("abc", "\u20ac" * 3, 123) | 314 us (*) | 277 us (-12%) --------------------------------------------------------------+-------------+----------------- Total | 3.15 ms (*) | 2.62 ms (-17%) --------------------------------------------------------------+-------------+----------------- --------------------------------------------------------------------------------------------+-------------+----------------- Many long arguments | bench-3.3 | bench-3.3-writer --------------------------------------------------------------------------------------------+-------------+----------------- fmt="{0}"*1024; arg="A" * 4096; fmt.format(arg) | 228 us (*) | 217 us fmt="{0}"*1024; arg="\u20ac" * 4096; fmt.format(arg) | 720 us (*) | 718 us fmt="{0}"*1024; arg=2**4096 - 1; fmt.format(arg) | 34.9 ms (*) | 34.7 ms fmt="{0}{1}"*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 34.9 ms (*) | 34.8 ms fmt="{0}{1}{2}"*1024; args=("A" * 4096, "\u20ac" * 4096, 2**4096 - 1); fmt.format(*args) | 37.9 ms (*) | 37.3 ms fmt="{0}-"*1024; arg="A" * 4096; fmt.format(arg) | 325 us (*) | 295 us (-9%) fmt="{0}-"*1024; arg=2**4096 - 1; fmt.format(arg) | 34.8 ms (*) | 34.7 ms fmt="{0}-{1}="*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 35.1 ms (*) | 35 ms fmt="{0}-{1}={2}#"*1024; args=("A" * 4096, "\u20ac" * 4096, 2**4096 - 1); fmt.format(*args) | 37.8 ms (*) | 37.2 ms --------------------------------------------------------------------------------------------+-------------+----------------- Total | 217 ms (*) | 215 ms --------------------------------------------------------------------------------------------+-------------+----------------- -----------------------------------------------------------------------------------------+------------+----------------- Keywords | bench-3.3 | bench-3.3-writer -----------------------------------------------------------------------------------------+------------+----------------- s="The {k1} is {k2} the {k3}."; args={"k1": "x", "k2": "y", "k3": "z"}; s.format(**args) | 633 ns (*) | 640 ns s="The %(k1)s is %(k2)s the %(k3)s."; args={"k1":"x","k2":"y","k3":"z",}; s % args | 467 ns (*) | 450 ns -----------------------------------------------------------------------------------------+------------+----------------- Total | 1.1 us (*) | 1.09 us -----------------------------------------------------------------------------------------+------------+----------------- ------------------------------------------------------+-------------+----------------- Align to 10 characters | bench-3.3 | bench-3.3-writer ------------------------------------------------------+-------------+----------------- fmt="{:<10}"; arg="abc"; fmt.format(arg) | 278 ns (*) | 226 ns (-19%) fmt="{:<10}"; arg="\u20ac" * 3; fmt.format(arg) | 335 ns (*) | 233 ns (-30%) fmt="{:<10}"; arg=123; fmt.format(arg) | 414 ns (*) | 381 ns (-8%) fmt="{:<10}"; arg=12.345; fmt.format(arg) | 969 ns (*) | 918 ns (-5%) fmt="{:<10}"; arg=2j; fmt.format(arg) | 1.01 us (*) | 676 ns (-33%) fmt="{:<10}"; arg=1+2j; fmt.format(arg) | 1.08 us (*) | 749 ns (-31%) fmt="{:>10}"; arg="abc"; fmt.format(arg) | 281 ns (*) | 227 ns (-19%) fmt="{:>10}"; arg="\u20ac" * 3; fmt.format(arg) | 344 ns (*) | 237 ns (-31%) fmt="{:>10}"; arg=123; fmt.format(arg) | 400 ns (*) | 382 ns fmt="{:>10}"; arg=12.345; fmt.format(arg) | 964 ns (*) | 920 ns fmt="{:>10}"; arg=2j; fmt.format(arg) | 1.02 us (*) | 672 ns (-34%) fmt="{:>10}"; arg=1+2j; fmt.format(arg) | 1.1 us (*) | 748 ns (-32%) fmt="{:^10}"; arg="abc"; fmt.format(arg) | 307 ns (*) | 238 ns (-23%) fmt="{:^10}"; arg="\u20ac" * 3; fmt.format(arg) | 347 ns (*) | 243 ns (-30%) fmt="{:^10}"; arg=123; fmt.format(arg) | 429 ns (*) | 391 ns (-9%) fmt="{:^10}"; arg=12.345; fmt.format(arg) | 949 ns (*) | 923 ns fmt="{:^10}"; arg=2j; fmt.format(arg) | 1.03 us (*) | 693 ns (-33%) fmt="{:^10}"; arg=1+2j; fmt.format(arg) | 1.1 us (*) | 739 ns (-33%) fmt="{:\u20ac<10}"; arg="abc"; fmt.format(arg) | 328 ns (*) | 238 ns (-27%) fmt="{:\u20ac<10}"; arg="\u20ac" * 3; fmt.format(arg) | 323 ns (*) | 237 ns (-26%) fmt="{:\u20ac<10}"; arg=123; fmt.format(arg) | 613 ns (*) | 455 ns (-26%) fmt="{:\u20ac<10}"; arg=12.345; fmt.format(arg) | 1.16 us (*) | 1.02 us (-12%) fmt="{:\u20ac<10}"; arg=2j; fmt.format(arg) | 1.22 us (*) | 755 ns (-38%) fmt="{:\u20ac<10}"; arg=1+2j; fmt.format(arg) | 1.35 us (*) | 877 ns (-35%) fmt="{:\u20ac>10}"; arg="abc"; fmt.format(arg) | 329 ns (*) | 239 ns (-28%) fmt="{:\u20ac>10}"; arg="\u20ac" * 3; fmt.format(arg) | 328 ns (*) | 236 ns (-28%) fmt="{:\u20ac>10}"; arg=123; fmt.format(arg) | 617 ns (*) | 452 ns (-27%) fmt="{:\u20ac>10}"; arg=12.345; fmt.format(arg) | 1.16 us (*) | 1.03 us (-11%) fmt="{:\u20ac>10}"; arg=2j; fmt.format(arg) | 1.21 us (*) | 754 ns (-38%) fmt="{:\u20ac>10}"; arg=1+2j; fmt.format(arg) | 1.37 us (*) | 887 ns (-35%) fmt="{:\u20ac^10}"; arg="abc"; fmt.format(arg) | 339 ns (*) | 250 ns (-26%) fmt="{:\u20ac^10}"; arg="\u20ac" * 3; fmt.format(arg) | 336 ns (*) | 247 ns (-27%) fmt="{:\u20ac^10}"; arg=123; fmt.format(arg) | 615 ns (*) | 460 ns (-25%) fmt="{:\u20ac^10}"; arg=12.345; fmt.format(arg) | 1.17 us (*) | 1.04 us (-11%) fmt="{:\u20ac^10}"; arg=2j; fmt.format(arg) | 1.23 us (*) | 751 ns (-39%) fmt="{:\u20ac^10}"; arg=1+2j; fmt.format(arg) | 1.37 us (*) | 889 ns (-35%) ------------------------------------------------------+-------------+----------------- Total | 27.4 us (*) | 20.4 us (-26%) ------------------------------------------------------+-------------+----------------- --------------------------------------------------------+-------------+----------------- Align to 4096 characters | bench-3.3 | bench-3.3-writer --------------------------------------------------------+-------------+----------------- fmt="{:<4096}"; arg="abc"; fmt.format(arg) | 598 ns (*) | 380 ns (-36%) fmt="{:<4096}"; arg="\u20ac" * 3; fmt.format(arg) | 820 ns (*) | 485 ns (-41%) fmt="{:<4096}"; arg=123; fmt.format(arg) | 781 ns (*) | 538 ns (-31%) fmt="{:<4096}"; arg=12.345; fmt.format(arg) | 1.45 us (*) | 1.19 us (-18%) fmt="{:<4096}"; arg=2j; fmt.format(arg) | 1.67 us (*) | 893 ns (-46%) fmt="{:<4096}"; arg=1+2j; fmt.format(arg) | 1.73 us (*) | 962 ns (-44%) fmt="{:>4096}"; arg="abc"; fmt.format(arg) | 600 ns (*) | 375 ns (-37%) fmt="{:>4096}"; arg="\u20ac" * 3; fmt.format(arg) | 824 ns (*) | 488 ns (-41%) fmt="{:>4096}"; arg=123; fmt.format(arg) | 785 ns (*) | 530 ns (-32%) fmt="{:>4096}"; arg=12.345; fmt.format(arg) | 1.48 us (*) | 1.18 us (-20%) fmt="{:>4096}"; arg=2j; fmt.format(arg) | 1.72 us (*) | 886 ns (-48%) fmt="{:>4096}"; arg=1+2j; fmt.format(arg) | 1.77 us (*) | 968 ns (-45%) fmt="{:^4096}"; arg="abc"; fmt.format(arg) | 626 ns (*) | 404 ns (-35%) fmt="{:^4096}"; arg="\u20ac" * 3; fmt.format(arg) | 844 ns (*) | 519 ns (-38%) fmt="{:^4096}"; arg=123; fmt.format(arg) | 814 ns (*) | 558 ns (-31%) fmt="{:^4096}"; arg=12.345; fmt.format(arg) | 1.5 us (*) | 1.2 us (-20%) fmt="{:^4096}"; arg=2j; fmt.format(arg) | 1.71 us (*) | 934 ns (-45%) fmt="{:^4096}"; arg=1+2j; fmt.format(arg) | 1.77 us (*) | 996 ns (-44%) fmt="{:\u20ac<4096}"; arg="abc"; fmt.format(arg) | 816 ns (*) | 517 ns (-37%) fmt="{:\u20ac<4096}"; arg="\u20ac" * 3; fmt.format(arg) | 814 ns (*) | 510 ns (-37%) fmt="{:\u20ac<4096}"; arg=123; fmt.format(arg) | 1.23 us (*) | 804 ns (-35%) fmt="{:\u20ac<4096}"; arg=12.345; fmt.format(arg) | 1.91 us (*) | 1.45 us (-25%) fmt="{:\u20ac<4096}"; arg=2j; fmt.format(arg) | 2.08 us (*) | 1.13 us (-46%) fmt="{:\u20ac<4096}"; arg=1+2j; fmt.format(arg) | 2.24 us (*) | 1.28 us (-43%) fmt="{:\u20ac>4096}"; arg="abc"; fmt.format(arg) | 857 ns (*) | 512 ns (-40%) fmt="{:\u20ac>4096}"; arg="\u20ac" * 3; fmt.format(arg) | 856 ns (*) | 511 ns (-40%) fmt="{:\u20ac>4096}"; arg=123; fmt.format(arg) | 1.25 us (*) | 806 ns (-35%) fmt="{:\u20ac>4096}"; arg=12.345; fmt.format(arg) | 1.92 us (*) | 1.45 us (-25%) fmt="{:\u20ac>4096}"; arg=2j; fmt.format(arg) | 2.08 us (*) | 1.12 us (-46%) fmt="{:\u20ac>4096}"; arg=1+2j; fmt.format(arg) | 2.24 us (*) | 1.27 us (-43%) fmt="{:\u20ac^4096}"; arg="abc"; fmt.format(arg) | 871 ns (*) | 550 ns (-37%) fmt="{:\u20ac^4096}"; arg="\u20ac" * 3; fmt.format(arg) | 878 ns (*) | 546 ns (-38%) fmt="{:\u20ac^4096}"; arg=123; fmt.format(arg) | 1.28 us (*) | 845 ns (-34%) fmt="{:\u20ac^4096}"; arg=12.345; fmt.format(arg) | 1.93 us (*) | 1.47 us (-24%) fmt="{:\u20ac^4096}"; arg=2j; fmt.format(arg) | 2.09 us (*) | 1.17 us (-44%) fmt="{:\u20ac^4096}"; arg=1+2j; fmt.format(arg) | 2.24 us (*) | 1.32 us (-41%) --------------------------------------------------------+-------------+----------------- Total | 49.1 us (*) | 30.7 us (-37%) --------------------------------------------------------+-------------+----------------- -------------------------------------------------+-------------+----------------- Format number in the locale | bench-3.3 | bench-3.3-writer -------------------------------------------------+-------------+----------------- fmt="{:,}"; arg=123; fmt.format(arg) | 391 ns (*) | 365 ns (-7%) fmt="{:,}"; arg=2**4096 - 1; fmt.format(arg) | 41.3 us (*) | 40.6 us fmt="{:,}"; arg=2 ** 123456 - 1; fmt.format(arg) | 28.9 ms (*) | 28.9 ms -------------------------------------------------+-------------+----------------- Total | 28.9 ms (*) | 28.9 ms -------------------------------------------------+-------------+----------------- ------------------------------------+-------------+----------------- str(int) | bench-3.3 | bench-3.3-writer ------------------------------------+-------------+----------------- number=123; str(number) | 180 ns (*) | 185 ns number=2**4096 - 1; str(number) | 34.3 us (*) | 34 us number=2 ** 123456 - 1; str(number) | 28.8 ms (*) | 28.8 ms ------------------------------------+-------------+----------------- Total | 28.8 ms (*) | 28.8 ms ------------------------------------+-------------+----------------- ------------------------------------------------------+-------------+----------------- Summary | bench-3.3 | bench-3.3-writer ------------------------------------------------------+-------------+----------------- Basic format, short ASCII output | 5.82 us (*) | 4.4 us (-24%) Basic format, long output | 143 us (*) | 140 us Basic format, huge output | 73.8 ms (*) | 57.6 ms (-22%) One argument with ASCII prefix, short output | 4.92 us (*) | 4.73 us One argument with ASCII suffix, short output | 5.04 us (*) | 4.69 us (-7%) One argument with BMP prefix and suffix, short output | 5.93 us (*) | 5.22 us (-12%) Huge long output with prefix and suffix | 143 ms (*) | 129 ms (-10%) Many short arguments | 3.15 ms (*) | 2.62 ms (-17%) Many long arguments | 217 ms (*) | 215 ms Keywords | 1.1 us (*) | 1.09 us Align to 10 characters | 27.4 us (*) | 20.4 us (-26%) Align to 4096 characters | 49.1 us (*) | 30.7 us (-37%) Format number in the locale | 28.9 ms (*) | 28.9 ms str(int) | 28.8 ms (*) | 28.8 ms ------------------------------------------------------+-------------+----------------- Total | 495 ms (*) | 462 ms (-7%) ------------------------------------------------------+-------------+-----------------