.format vs. %

Stefan Krah stefan-usenet at bytereef.org
Tue Jan 3 09:17:15 EST 2012


Neil Cerutti <neilc at norwich.edu> wrote:
> > In the real-world telco benchmark for _decimal, replacing the
> > single line
> >
> >     outfil.write("%s\n" % t)
> >
> > with
> >
> >     outfil.write("{}\n".format(t))
> >
> > adds 23% to the runtime. I think %-style formatting should not
> > be deprecated at all.
>    
> When it becomes necessary, it's possible to optimize it by
> hoisting out the name lookups.
>    ...
>    outfil_write = outfil.write
>    append_newline = "{}\n".format
>    ...
>        outfil_write(append_newline(t))
>        ...

Did you profile this? I did, and it still adds 22% to the runtime.


Stefan Krah





More information about the Python-list mailing list