Hi, On 2/26/12 12:35 PM, Serhiy Storchaka wrote: > Some microbenchmarks: > > $ python -m timeit -n 10000 -r 100 -s "x = 123" "'foobarbaz_%d' % x" > 10000 loops, best of 100: 1.24 usec per loop > $ python -m timeit -n 10000 -r 100 -s "x = 123" "str('foobarbaz_%d') % x" > 10000 loops, best of 100: 1.59 usec per loop > $ python -m timeit -n 10000 -r 100 -s "x = 123" "str(u'foobarbaz_%d') % x" > 10000 loops, best of 100: 1.58 usec per loop > $ python -m timeit -n 10000 -r 100 -s "x = 123; n = lambda s: s" "n('foobarbaz_%d') % x" > 10000 loops, best of 100: 1.41 usec per loop > $ python -m timeit -n 10000 -r 100 -s "x = 123; s = 'foobarbaz_%d'" "s % x" > 10000 loops, best of 100: 1.22 usec per loop > > There are no significant overhead to use converters. That's because what you're benchmarking here more than anything is the overhead of eval() :-) See the benchmark linked in the PEP for one that measures the actual performance of the string literal / wrapper.
Regards, Armin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com