Platform of campaign 2.7: Date: 2012-05-29 23:47:06 Platform: Windows-7-6.1.7601-SP1 Python version: 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] Python unicode implementation: UTF-16 Platform of campaign 3.2: Date: 2012-05-29 23:38:13 Platform: Windows-7-6.1.7601-SP1 Python version: 3.2.2 (default, Sep 4 2011, 09:07:29) [MSC v.1500 64 bit (AMD64)] Python unicode implementation: UTF-16 Platform of campaign tip: Date: 2012-05-29 23:29:33 Platform: Windows-7-6.1.7601-SP1 Python version: 3.3.0a3+ (default:cb7421cdaec4, May 29 2012, 23:22:14) [MSC v.1600 32 bit (Intel)] Python unicode implementation: PEP 393 SCM: hg revision=cb7421cdaec4 tag=tip branch=default date="2012-05-29 10:51 -0700" --------------------------------------+-------------+---------------+--------------- Basic format, short ASCII output | 2.7 | 3.2 | tip --------------------------------------+-------------+---------------+--------------- fmt="{}"; arg="abc"; fmt.format(arg) | 264 ns (*) | 254 ns | 196 ns (-26%) fmt="{}"; arg=123; fmt.format(arg) | 310 ns (*) | 298 ns | 262 ns (-16%) fmt="{}"; arg=12.345; fmt.format(arg) | 587 ns (*) | 760 ns (+29%) | 789 ns (+34%) fmt="{}"; arg=2j; fmt.format(arg) | 950 ns (*) | 975 ns | 610 ns (-36%) fmt="{}"; arg=1+2j; fmt.format(arg) | 1.18 us (*) | 1.09 us (-7%) | 811 ns (-31%) fmt="{:d}"; arg=123; fmt.format(arg) | 422 ns (*) | 430 ns | 308 ns (-27%) fmt="{:x}"; arg=123; fmt.format(arg) | 417 ns (*) | 470 ns (+13%) | 297 ns (-29%) fmt="%s"; arg="abc"; fmt % arg | 112 ns (*) | 113 ns | 65 ns (-42%) fmt="%s"; arg=123; fmt % arg | 143 ns (*) | 163 ns (+14%) | 126 ns (-12%) fmt="%s"; arg=12.345; fmt % arg | 392 ns (*) | 635 ns (+62%) | 631 ns (+61%) fmt="%s"; arg=2j; fmt % arg | 531 ns (*) | 590 ns (+11%) | 452 ns (-15%) fmt="%s"; arg=1+2j; fmt % arg | 725 ns (*) | 714 ns | 644 ns (-11%) fmt="%d"; arg=123; fmt % arg | 529 ns (*) | 246 ns (-54%) | 131 ns (-75%) fmt="%x"; arg=123; fmt % arg | 520 ns (*) | 297 ns (-43%) | 111 ns (-79%) --------------------------------------+-------------+---------------+--------------- Total | 7.08 us (*) | 7.03 us | 5.44 us (-23%) --------------------------------------+-------------+---------------+--------------- ---------------------------------------------+-------------+----------------+--------------- Basic format, long output | 2.7 | 3.2 | tip ---------------------------------------------+-------------+----------------+--------------- fmt="{}"; arg="A" * 4096; fmt.format(arg) | 760 ns (*) | 1 us (+32%) | 197 ns (-74%) fmt="{}"; arg=2**4096 - 1; fmt.format(arg) | 323 us (*) | 31.9 us (-90%) | 111 us (-66%) fmt="%s"; arg="A" * 4096; fmt % arg | 600 ns (*) | 865 ns (+44%) | 65 ns (-89%) fmt="%s"; arg=2**4096 - 1; fmt % arg | 330 us (*) | 31 us (-91%) | 110 us (-67%) fmt="{:d}"; arg=2**4096 - 1; fmt.format(arg) | 336 us (*) | 31.3 us (-91%) | 109 us (-68%) fmt="{:x}"; arg=2**4096 - 1; fmt.format(arg) | 6 us (*) | 3.82 us (-36%) | 2.79 us (-53%) fmt="%d"; arg=2**4096 - 1; fmt % arg | 335 us (*) | 34 us (-90%) | 109 us (-67%) fmt="%x"; arg=2**4096 - 1; fmt % arg | 5.5 us (*) | 5.1 us (-7%) | 2.66 us (-52%) ---------------------------------------------+-------------+----------------+--------------- Total | 1.34 ms (*) | 139 us (-90%) | 445 us (-67%) ---------------------------------------------+-------------+----------------+--------------- --------------------------------------------------------+-------------+----------------+--------------- Basic format, huge output | 2.7 | 3.2 | tip --------------------------------------------------------+-------------+----------------+--------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 7.4 ms (*) | 11.2 ms (+51%) | 203 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 7.35 ms (*) | 11.1 ms (+51%) | 66 ns (-100%) fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 300 ms (*) | 26.3 ms (-91%) | 94.7 ms (-68%) fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 314 ms (*) | 26.3 ms (-92%) | 93 ms (-70%) --------------------------------------------------------+-------------+----------------+--------------- Total | 629 ms (*) | 75 ms (-88%) | 188 ms (-70%) --------------------------------------------------------+-------------+----------------+--------------- ---------------------------------------------+-------------+---------------+-------------- One argument with ASCII prefix, short output | 2.7 | 3.2 | tip ---------------------------------------------+-------------+---------------+-------------- fmt="x={}"; arg="abc"; fmt.format(arg) | 271 ns (*) | 258 ns | 283 ns fmt="x={}"; arg=123; fmt.format(arg) | 290 ns (*) | 300 ns | 316 ns (+9%) fmt="x={}"; arg=12.345; fmt.format(arg) | 586 ns (*) | 770 ns (+31%) | 886 ns (+51%) fmt="x={}"; arg=2j; fmt.format(arg) | 990 ns (*) | 960 ns | 698 ns (-29%) fmt="x={}"; arg=1+2j; fmt.format(arg) | 1.17 us (*) | 1.1 us (-6%) | 893 ns (-24%) fmt="x=%s"; arg="abc"; fmt % arg | 116 ns (*) | 118 ns | 155 ns (+34%) fmt="x=%s"; arg=123; fmt % arg | 146 ns (*) | 170 ns (+16%) | 183 ns (+25%) fmt="x=%s"; arg=12.345; fmt % arg | 390 ns (*) | 630 ns (+62%) | 736 ns (+89%) fmt="x=%s"; arg=2j; fmt % arg | 540 ns (*) | 592 ns (+10%) | 553 ns fmt="x=%s"; arg=1+2j; fmt % arg | 735 ns (*) | 725 ns | 750 ns ---------------------------------------------+-------------+---------------+-------------- Total | 5.23 us (*) | 5.62 us (+7%) | 5.45 us ---------------------------------------------+-------------+---------------+-------------- ---------------------------------------------+-------------+---------------+-------------- One argument with ASCII suffix, short output | 2.7 | 3.2 | tip ---------------------------------------------+-------------+---------------+-------------- fmt="{}:"; arg="abc"; fmt.format(arg) | 288 ns (*) | 274 ns (-5%) | 297 ns fmt="{}:"; arg=123; fmt.format(arg) | 340 ns (*) | 313 ns (-8%) | 324 ns fmt="{}:"; arg=12.345; fmt.format(arg) | 600 ns (*) | 768 ns (+28%) | 924 ns (+54%) fmt="{}:"; arg=2j; fmt.format(arg) | 996 ns (*) | 970 ns | 713 ns (-28%) fmt="{}:"; arg=1+2j; fmt.format(arg) | 1.18 us (*) | 1.09 us (-8%) | 928 ns (-22%) fmt="%s:"; arg="abc"; fmt % arg | 118 ns (*) | 115 ns | 156 ns (+32%) fmt="%s:"; arg=123; fmt % arg | 147 ns (*) | 167 ns (+13%) | 177 ns (+20%) fmt="%s:"; arg=12.345; fmt % arg | 396 ns (*) | 635 ns (+60%) | 729 ns (+84%) fmt="%s:"; arg=2j; fmt % arg | 545 ns (*) | 590 ns (+8%) | 537 ns fmt="%s:"; arg=1+2j; fmt % arg | 745 ns (*) | 722 ns | 731 ns ---------------------------------------------+-------------+---------------+-------------- Total | 5.36 us (*) | 5.65 us (+5%) | 5.52 us ---------------------------------------------+-------------+---------------+-------------- ------------------------------------------------------------+--------------+----------------+--------------- Huge long output with prefix and suffix | 2.7 | 3.2 | tip ------------------------------------------------------------+--------------+----------------+--------------- fmt="{}"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 7.5 ms (*) | 10.4 ms (+38%) | 203 ns (-100%) fmt="%s"; arg="A" * (10 * 1024 * 1024); fmt % arg | 7.45 ms (*) | 11.2 ms (+50%) | 66 ns (-100%) fmt="x=[{}]"; arg="A" * (10 * 1024 * 1024); fmt.format(arg) | 7.95 ms (*) | 11.4 ms (+43%) | 7.22 ms (-9%) fmt="x=[%s]"; arg="A" * (10 * 1024 * 1024); fmt % arg | 8 ms (*) | 11 ms (+37%) | 7.3 ms (-9%) fmt="{}"; arg=2 ** 123456 - 1; fmt.format(arg) | 301 ms (*) | 27 ms (-91%) | 93.4 ms (-69%) fmt="%s"; arg=2 ** 123456 - 1; fmt % arg | 297 ms (*) | 27.3 ms (-91%) | 94.9 ms (-68%) fmt="x=[{}]"; arg=2 ** 123456 - 1; fmt.format(arg) | 300 ms (*) | 27.3 ms (-91%) | 93.3 ms (-69%) fmt="x=[%s]"; arg=2 ** 123456 - 1; fmt % arg | 299 ms (*) | 26.7 ms (-91%) | 94.6 ms (-68%) ------------------------------------------------------------+--------------+----------------+--------------- Total | 1.23 sec (*) | 152 ms (-88%) | 391 ms (-68%) ------------------------------------------------------------+--------------+----------------+--------------- --------------------------------------------+-------------+----------------+-------------- Many short arguments | 2.7 | 3.2 | tip --------------------------------------------+-------------+----------------+-------------- fmt="{0}"*1024; fmt.format("abc") | 87.8 us (*) | 73 us (-17%) | 86.5 us fmt="{0}"*1024; fmt.format(123) | 131 us (*) | 126 us | 120 us (-8%) fmt="{0}"*1024; fmt.format(12.345) | 373 us (*) | 565 us (+52%) | 696 us (+87%) fmt="{0}"*1024; fmt.format(2j) | 733 us (*) | 700 us | 487 us (-34%) fmt="{0}"*1024; fmt.format(1+2j) | 928 us (*) | 840 us (-9%) | 667 us (-28%) fmt="{0}{1}"*1024; fmt.format("abc", 123) | 235 us (*) | 204 us (-13%) | 208 us (-12%) fmt="{0}-"*1024; fmt.format("abc") | 88 us (*) | 76.5 us (-13%) | 101 us (+15%) fmt="{0}-"*1024; fmt.format(123) | 127 us (*) | 127 us | 136 us (+7%) fmt="{0}-{1}="*1024; fmt.format("abc", 123) | 209 us (*) | 210 us | 240 us (+14%) --------------------------------------------+-------------+----------------+-------------- Total | 2.91 ms (*) | 2.92 ms | 2.74 ms (-6%) --------------------------------------------+-------------+----------------+-------------- -----------------------------------------------------------------------+--------------+------------------+--------------- Many long arguments | 2.7 | 3.2 | tip -----------------------------------------------------------------------+--------------+------------------+--------------- fmt="{0}"*1024; arg="A" * 4096; fmt.format(arg) | 1.04 sec (*) | 2.13 sec (+106%) | 8.08 ms (-99%) fmt="{0}"*1024; arg=2**4096 - 1; fmt.format(arg) | 414 ms (*) | 200 ms (-52%) | 113 ms (-73%) fmt="{0}{1}"*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 1.79 sec (*) | 2.83 sec (+58%) | 124 ms (-93%) fmt="{0}-"*1024; arg="A" * 4096; fmt.format(arg) | 1.05 sec (*) | 2.12 sec (+102%) | 8.19 ms (-99%) fmt="{0}-"*1024; arg=2**4096 - 1; fmt.format(arg) | 410 ms (*) | 203 ms (-50%) | 113 ms (-72%) fmt="{0}-{1}="*1024; args=("A" * 4096, 2**4096 - 1); fmt.format(*args) | 1.77 sec (*) | 2.82 sec (+59%) | 124 ms (-93%) -----------------------------------------------------------------------+--------------+------------------+--------------- Total | 6.47 sec (*) | 10.3 sec (+59%) | 490 ms (-92%) -----------------------------------------------------------------------+--------------+------------------+--------------- -----------------------------------------------------------------------------------------+-------------+---------------+-------------- Keywords | 2.7 | 3.2 | tip -----------------------------------------------------------------------------------------+-------------+---------------+-------------- s="The {k1} is {k2} the {k3}."; args={"k1": "x", "k2": "y", "k3": "z"}; s.format(**args) | 710 ns (*) | 545 ns (-23%) | 791 ns (+11%) s="The %(k1)s is %(k2)s the %(k3)s."; args={"k1":"x","k2":"y","k3":"z",}; s % args | 413 ns (*) | 392 ns | 508 ns (+23%) -----------------------------------------------------------------------------------------+-------------+---------------+-------------- Total | 1.12 us (*) | 937 ns (-17%) | 1.3 us (+16%) -----------------------------------------------------------------------------------------+-------------+---------------+-------------- ------------------------------------------+-------------+----------------+--------------- Align to 10 characters | 2.7 | 3.2 | tip ------------------------------------------+-------------+----------------+--------------- fmt="{:<10}"; arg="abc"; fmt.format(arg) | 373 ns (*) | 307 ns (-18%) | 315 ns (-16%) fmt="{:<10}"; arg=123; fmt.format(arg) | 400 ns (*) | 459 ns (+15%) | 463 ns (+16%) fmt="{:<10}"; arg=12.345; fmt.format(arg) | 645 ns (*) | 1000 ns (+55%) | 1.01 us (+56%) fmt="{:<10}"; arg=2j; fmt.format(arg) | 945 ns (*) | 1.06 us (+12%) | 761 ns (-20%) fmt="{:<10}"; arg=1+2j; fmt.format(arg) | 950 ns (*) | 1.13 us (+19%) | 828 ns (-13%) fmt="{:>10}"; arg="abc"; fmt.format(arg) | 346 ns (*) | 314 ns (-9%) | 310 ns (-10%) fmt="{:>10}"; arg=123; fmt.format(arg) | 425 ns (*) | 451 ns (+6%) | 465 ns (+9%) fmt="{:>10}"; arg=12.345; fmt.format(arg) | 637 ns (*) | 1 us (+57%) | 1.05 us (+64%) fmt="{:>10}"; arg=2j; fmt.format(arg) | 930 ns (*) | 1.05 us (+12%) | 772 ns (-17%) fmt="{:>10}"; arg=1+2j; fmt.format(arg) | 988 ns (*) | 1.12 us (+13%) | 852 ns (-14%) fmt="{:^10}"; arg="abc"; fmt.format(arg) | 332 ns (*) | 323 ns | 320 ns fmt="{:^10}"; arg=123; fmt.format(arg) | 445 ns (*) | 462 ns | 453 ns fmt="{:^10}"; arg=12.345; fmt.format(arg) | 650 ns (*) | 980 ns (+51%) | 1.01 us (+56%) fmt="{:^10}"; arg=2j; fmt.format(arg) | 860 ns (*) | 1.07 us (+24%) | 774 ns (-10%) fmt="{:^10}"; arg=1+2j; fmt.format(arg) | 1.01 us (*) | 1.13 us (+12%) | 833 ns (-17%) ------------------------------------------+-------------+----------------+--------------- Total | 9.93 us (*) | 11.8 us (+19%) | 10.2 us ------------------------------------------+-------------+----------------+--------------- --------------------------------------------+-------------+-----------------+--------------- Align to 4096 characters | 2.7 | 3.2 | tip --------------------------------------------+-------------+-----------------+--------------- fmt="{:<4096}"; arg="abc"; fmt.format(arg) | 1 us (*) | 1.39 us (+39%) | 505 ns (-50%) fmt="{:<4096}"; arg=123; fmt.format(arg) | 1.06 us (*) | 2.94 us (+178%) | 717 ns (-32%) fmt="{:<4096}"; arg=12.345; fmt.format(arg) | 1.38 us (*) | 3.65 us (+165%) | 1.23 us (-11%) fmt="{:<4096}"; arg=2j; fmt.format(arg) | 1.64 us (*) | 2.3 us (+40%) | 960 ns (-41%) fmt="{:<4096}"; arg=1+2j; fmt.format(arg) | 1.74 us (*) | 2.34 us (+35%) | 1.04 us (-40%) fmt="{:>4096}"; arg="abc"; fmt.format(arg) | 984 ns (*) | 1.38 us (+40%) | 471 ns (-52%) fmt="{:>4096}"; arg=123; fmt.format(arg) | 1.1 us (*) | 2.91 us (+165%) | 688 ns (-37%) fmt="{:>4096}"; arg=12.345; fmt.format(arg) | 1.35 us (*) | 3.57 us (+164%) | 1.19 us (-12%) fmt="{:>4096}"; arg=2j; fmt.format(arg) | 1.65 us (*) | 2.23 us (+35%) | 937 ns (-43%) fmt="{:>4096}"; arg=1+2j; fmt.format(arg) | 1.72 us (*) | 2.32 us (+35%) | 1.03 us (-40%) fmt="{:^4096}"; arg="abc"; fmt.format(arg) | 996 ns (*) | 1.39 us (+39%) | 526 ns (-47%) fmt="{:^4096}"; arg=123; fmt.format(arg) | 1.09 us (*) | 2.96 us (+171%) | 727 ns (-34%) fmt="{:^4096}"; arg=12.345; fmt.format(arg) | 1.35 us (*) | 3.64 us (+170%) | 1.24 us (-8%) fmt="{:^4096}"; arg=2j; fmt.format(arg) | 1.6 us (*) | 2.28 us (+42%) | 974 ns (-39%) fmt="{:^4096}"; arg=1+2j; fmt.format(arg) | 1.64 us (*) | 2.35 us (+44%) | 1.04 us (-37%) --------------------------------------------+-------------+-----------------+--------------- Total | 20.3 us (*) | 37.6 us (+86%) | 13.3 us (-35%) --------------------------------------------+-------------+-----------------+--------------- -------------------------------------------------+------------+----------------+--------------- Format number in the locale | 2.7 | 3.2 | tip -------------------------------------------------+------------+----------------+--------------- fmt="{:,}"; arg=123; fmt.format(arg) | 420 ns (*) | 444 ns (+6%) | 417 ns fmt="{:,}"; arg=2**4096 - 1; fmt.format(arg) | 344 us (*) | 42.4 us (-88%) | 122 us (-65%) fmt="{:,}"; arg=2 ** 123456 - 1; fmt.format(arg) | 299 ms (*) | 27.3 ms (-91%) | 93.2 ms (-69%) -------------------------------------------------+------------+----------------+--------------- Total | 299 ms (*) | 27.4 ms (-91%) | 93.3 ms (-69%) -------------------------------------------------+------------+----------------+--------------- ------------------------------------+------------+----------------+--------------- str(int) | 2.7 | 3.2 | tip ------------------------------------+------------+----------------+--------------- number=123; str(number) | 195 ns (*) | 183 ns (-6%) | 279 ns (+43%) number=2**4096 - 1; str(number) | 333 us (*) | 31.7 us (-90%) | 109 us (-67%) number=2 ** 123456 - 1; str(number) | 300 ms (*) | 26.7 ms (-91%) | 92.4 ms (-69%) ------------------------------------+------------+----------------+--------------- Total | 300 ms (*) | 26.7 ms (-91%) | 92.5 ms (-69%) ------------------------------------+------------+----------------+--------------- ---------------------------------------------+--------------+-----------------+---------------- Summary | 2.7 | 3.2 | tip ---------------------------------------------+--------------+-----------------+---------------- Basic format, short ASCII output | 7.08 us (*) | 7.03 us | 5.44 us (-23%) Basic format, long output | 1.34 ms (*) | 139 us (-90%) | 445 us (-67%) Basic format, huge output | 629 ms (*) | 75 ms (-88%) | 188 ms (-70%) One argument with ASCII prefix, short output | 5.23 us (*) | 5.62 us (+7%) | 5.45 us One argument with ASCII suffix, short output | 5.36 us (*) | 5.65 us (+5%) | 5.52 us Huge long output with prefix and suffix | 1.23 sec (*) | 152 ms (-88%) | 391 ms (-68%) Many short arguments | 2.91 ms (*) | 2.92 ms | 2.74 ms (-6%) Many long arguments | 6.47 sec (*) | 10.3 sec (+59%) | 490 ms (-92%) Keywords | 1.12 us (*) | 937 ns (-17%) | 1.3 us (+16%) Align to 10 characters | 9.93 us (*) | 11.8 us (+19%) | 10.2 us Align to 4096 characters | 20.3 us (*) | 37.6 us (+86%) | 13.3 us (-35%) Format number in the locale | 299 ms (*) | 27.4 ms (-91%) | 93.3 ms (-69%) str(int) | 300 ms (*) | 26.7 ms (-91%) | 92.5 ms (-69%) ---------------------------------------------+--------------+-----------------+---------------- Total | 8.93 sec (*) | 10.6 sec (+18%) | 1.26 sec (-86%) ---------------------------------------------+--------------+-----------------+----------------