http://hg.python.org/cpython/rev/f1db931b93d3 changeset: 76730:f1db931b93d3 user: Victor Stinnervictor.email@example.com date: Thu May 03 13:10:40 2012 +0200 summary: Issue #14687: str%tuple now uses an optimistic "unicode writer" instead of an accumulator. Directly write characters into the output (don't use a temporary list): resize and widen the string on demand.
I am curious whether these optimizations for str % tuple get applied to equivalent str.format(*tuple) calls or if you plan to make them do so. It seems to me that there could be one internal function that does the concatenation, with lengthening and resizing, of literal and formatted substrings, for both interfaces.
I just wrote a patch for str.format(). http://bugs.python.org/issue14716
The speed up is between 0% and 27%.