2013/7/18 Eleytherios Stamatogiannakis <estama@gmail.com>
Yes you are right, cPickle.dump most probably does a lot more small writes.

On the other hand, shouldn't this also affect CPython? Or is CPython so much faster in "".join-ing strings?

CPython is not affected, because files are implemented with the C fopen, fwrite...
and use a completely different buffer.
Is "".join-ing something that we should generally avoid doing in PyPy?

This is in RPython code, not in the PyPy interpreter.
But yes, a buffering method that is optimized for append() + flush() is better
than an all-purpose object.

Amaury Forgeot d'Arc