
[Alexander Belopolsky]
One thing I know for a fact is that the use of % formatting instead of .format makes a significant difference in my applications. This is not surprising given these timings:
$ python3 -mtimeit "'%d' % 2" 100000000 loops, best of 3: 0.00966 usec per loop $ python3 -mtimeit "'{}'.format(2)" 1000000 loops, best of 3: 0.216 usec per loop
Well, be sure to check what you're actually timing. Here under Python 3.4.3:
from dis import dis def f(): return "%d" % 2 dis(f) 2 0 LOAD_CONST 3 ('2') 3 RETURN_VALUE
That is, the peephole optimizer got rid of "%d" % 2 entirely, replacing it with the string constant "2". So, in all, it's more surprising that it takes so long to load a constant ;-)