.format vs. %
Neil Cerutti
neilc at norwich.edu
Tue Jan 3 10:24:19 EST 2012
On 2012-01-03, Neil Cerutti <neilc at norwich.edu> wrote:
> On 2012-01-03, Stefan Krah <stefan-usenet at bytereef.org> wrote:
>> 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.
>
> No, I did not. And that's disappointing.
On many levels. Thanks for the correction.
--
Neil Cerutti
More information about the Python-list
mailing list