[Python-Dev] PEP 414 - Unicode Literals for Python 3

Antoine Pitrou solipsis at pitrou.net
Mon Feb 27 18:35:25 CET 2012


On Sun, 26 Feb 2012 12:42:53 +0000
Armin Ronacher <armin.ronacher at active-4.com> wrote:
> 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.

Could you update your benchmarks with the caching version of u()?

Thanks

Antoine.




More information about the Python-Dev mailing list