# HG changeset patch # User Yuya Nishihara # Date 2019-01-24 12:34:48 # Node ID b4a3abdc790deafc79ed8fa96def4620ca479fc0 # Parent ff927ecb12f91b383a81ec438908995fb4d6b893 ui: inline _write() into write() due to performance issue I'll remove redundant conditions later in this series. diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -999,12 +999,23 @@ class ui(object): "cmdname.type" is recommended. For example, status issues a label of "status.modified" for modified files. ''' - self._write(self._fout, *args, **opts) + dest = self._fout + + # inlined _write() for speed + if self._isbuffered(dest): + label = opts.get(r'label', '') + if label and self._bufferapplylabels: + self._buffers[-1].extend(self.label(a, label) for a in args) + else: + self._buffers[-1].extend(args) + else: + self._writenobuf(dest, *args, **opts) def write_err(self, *args, **opts): self._write(self._ferr, *args, **opts) def _write(self, dest, *args, **opts): + # update write() as well if you touch this code if self._isbuffered(dest): label = opts.get(r'label', '') if label and self._bufferapplylabels: