Mercurial > public > mercurial-scm > hg-stable
diff mercurial/vfs.py @ 37890:8fb9985382be
pycompat: export queue module instead of symbols in module (API)
Previously, pycompat and util re-exported individual symbols from the
queue module. This had the side-effect of forcing the loading of the
queue module whenever pycompat/util was imported.
These symbols aren't used very often. So importing the module to
get a handle on the symbols is wasteful.
This commit changes pycompat so it no longer exports the individual
symbols in the queue module. Instead, we make the imported module
a "public" symbol. We drop the individual symbol aliases from the
util module. All consumers are updated to use pycompat.queue.* instead.
This change makes 300 invocations of `hg log -r. -T '{rev}\n'` a little
faster:
before: 18.44s
after: 17.87s
Differential Revision: https://phab.mercurial-scm.org/D3441
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 05 May 2018 18:35:16 -0700 |
parents | 2a7e777c9eed |
children | aac4be30e250 |
line wrap: on
line diff
--- a/mercurial/vfs.py Sat May 05 18:41:51 2018 -0700 +++ b/mercurial/vfs.py Sat May 05 18:35:16 2018 -0700 @@ -568,7 +568,7 @@ ui.debug('starting %d threads for background file closing\n' % threadcount) - self._queue = util.queue(maxsize=maxqueue) + self._queue = pycompat.queue.Queue(maxsize=maxqueue) self._running = True for i in range(threadcount): @@ -600,7 +600,7 @@ except Exception as e: # Stash so can re-raise from main thread later. self._threadexception = e - except util.empty: + except pycompat.queue.Empty: if not self._running: break