##// END OF EJS Templates
setup: build extensions in parallel by default...
setup: build extensions in parallel by default The build_ext distutils command in Python 3.5+ has a "parallel" option that controls whether to build extensions in parallel. It is disabled by default (None) and can be set to an integer value for number of cores or True to indicate use all available CPU cores. This commit changes our build_ext command override to set "parallel" to True unless a value has been provided by the caller. On my machine, this makes `python setup.py build_ext` 1-4s faster. It is worth noting that at this time, each individual source file constituting the extension is still built serially. For Mercurial, this means that we can't build faster than the slowest-to-build extension, which is the zstd extension by a long shot. This means that setup.py is still not very efficient at utilizing multiple cores. But we're better than before. Differential Revision: https://phab.mercurial-scm.org/D6923 # no-check-commit because of foo_bar naming

File last commit:

r42311:9d5692d6 default
r43314:f9d35f01 default
Show More
base-revsets.txt
52 lines | 1.7 KiB | text/plain | TextLexer
# Base Revsets to be used with revsetbenchmarks.py script
#
# The goal of this file is to gather a limited amount of revsets that allow a
# good coverage of the internal revsets mechanisms. Revsets included should not
# be selected for their individual implementation, but for what they reveal of
# the internal implementation of smartsets classes (and their interactions).
#
# Use and update this file when you change internal implementation of these
# smartsets classes. Please include a comment explaining what each of your
# addition is testing. Also check if your changes to the smartset class makes
# some of the tests inadequate and replace them with a new one testing the same
# behavior.
#
# If you want to benchmark revsets predicate itself, check 'all-revsets.txt'.
#
# The current content of this file is currently likely not reaching this goal
# entirely, feel free, to audit its content and comment on each revset to
# highlight what internal mechanisms they test.
all()
draft()
::tip
draft() and ::tip
::tip and draft()
0::tip
roots(0::tip)
author(lmoscovicz)
author(mpm)
author(lmoscovicz) or author(mpm)
author(mpm) or author(lmoscovicz)
tip:0
0::
# those two `roots(...)` inputs are close to what phase movement use.
roots((tip~100::) - (tip~100::tip))
roots((0::) - (0::tip))
42:68 and roots(42:tip)
::p1(p1(tip))::
public()
:10000 and public()
draft()
:10000 and draft()
roots((0:tip)::)
(not public() - obsolete())
(_intlist('20000\x0020001')) and merge()
parents(20000)
(20000::) - (20000)
# The one below is used by rebase
(children(ancestor(tip~5, tip)) and ::(tip~5))::
heads(commonancestors(last(head(), 2)))
heads(-10000:-1)
roots(-10000:-1)
only(max(head()), min(head()))