diff -r bfe042a363e6 Objects/stringlib/join.h --- a/Objects/stringlib/join.h Sat Oct 20 20:13:42 2012 +1000 +++ b/Objects/stringlib/join.h Sat Oct 20 21:52:09 2012 +0300 @@ -94,6 +94,16 @@ /* Catenate everything. */ p = STRINGLIB_STR(res); + if (!seplen) { + /* fast path */ + for (i = 0; i < nbufs; i++) { + Py_ssize_t n = buffers[i].len; + char *q = buffers[i].buf; + Py_MEMCPY(p, q, n); + p += n; + } + goto done; + } for (i = 0; i < nbufs; i++) { Py_ssize_t n; char *q;