ui: improve performance for multi-component writes
It is more efficient to pass down one large string to the output streams
than many small ones. For a ``hg diff`` test case, it improves time from
2m26s to 2m8s.
Differential Revision: https://phab.mercurial-scm.org/D1939
--- a/mercurial/ui.py Sun Jan 21 13:03:03 2018 +0900
+++ b/mercurial/ui.py Thu Jan 25 20:00:58 2018 +0100
@@ -916,8 +916,7 @@
# opencode timeblockedsection because this is a critical path
starttime = util.timer()
try:
- for a in msgs:
- self.fout.write(a)
+ self.fout.write(''.join(msgs))
except IOError as err:
raise error.StdioError(err)
finally: