Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/ui.py @ 41305:b4a3abdc790d stable
ui: inline _write() into write() due to performance issue
I'll remove redundant conditions later in this series.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 24 Jan 2019 21:34:48 +0900 |
parents | ff927ecb12f9 |
children | e8273eaa0726 |
comparison
equal
deleted
inserted
replaced
41304:ff927ecb12f9 | 41305:b4a3abdc790d |
---|---|
997 | 997 |
998 When labeling output for a specific command, a label of | 998 When labeling output for a specific command, a label of |
999 "cmdname.type" is recommended. For example, status issues | 999 "cmdname.type" is recommended. For example, status issues |
1000 a label of "status.modified" for modified files. | 1000 a label of "status.modified" for modified files. |
1001 ''' | 1001 ''' |
1002 self._write(self._fout, *args, **opts) | 1002 dest = self._fout |
1003 | |
1004 # inlined _write() for speed | |
1005 if self._isbuffered(dest): | |
1006 label = opts.get(r'label', '') | |
1007 if label and self._bufferapplylabels: | |
1008 self._buffers[-1].extend(self.label(a, label) for a in args) | |
1009 else: | |
1010 self._buffers[-1].extend(args) | |
1011 else: | |
1012 self._writenobuf(dest, *args, **opts) | |
1003 | 1013 |
1004 def write_err(self, *args, **opts): | 1014 def write_err(self, *args, **opts): |
1005 self._write(self._ferr, *args, **opts) | 1015 self._write(self._ferr, *args, **opts) |
1006 | 1016 |
1007 def _write(self, dest, *args, **opts): | 1017 def _write(self, dest, *args, **opts): |
1018 # update write() as well if you touch this code | |
1008 if self._isbuffered(dest): | 1019 if self._isbuffered(dest): |
1009 label = opts.get(r'label', '') | 1020 label = opts.get(r'label', '') |
1010 if label and self._bufferapplylabels: | 1021 if label and self._bufferapplylabels: |
1011 self._buffers[-1].extend(self.label(a, label) for a in args) | 1022 self._buffers[-1].extend(self.label(a, label) for a in args) |
1012 else: | 1023 else: |