# HG changeset patch # User Raphaël Gomès # Date 1573399814 28800 # Node ID 37cbf45bb8585679af55e1dfdd7406d6f2cf0426 # Parent 612b4b63fb2267320f18655c0fa8a675f8fe3939 rust-threads: force Rayon to respect the worker count in config As per the inline comment, this is a workaround because Rust code does not yet know how to read config files. Differential Revision: https://phab.mercurial-scm.org/D7610 diff -r 612b4b63fb22 -r 37cbf45bb858 mercurial/dirstate.py --- a/mercurial/dirstate.py Mon Dec 09 12:29:46 2019 +0100 +++ b/mercurial/dirstate.py Sun Nov 10 07:30:14 2019 -0800 @@ -1116,6 +1116,17 @@ use_rust = False if use_rust: + # Force Rayon (Rust parallelism library) to respect the number of + # workers. This is a temporary workaround until Rust code knows + # how to read the config file. + numcpus = self._ui.configint("worker", "numcpus") + if numcpus is not None: + encoding.environ.setdefault(b'RAYON_NUM_THREADS', b'%d' % numcpus) + + workers_enabled = self._ui.configbool("worker", "enabled", True) + if not workers_enabled: + encoding.environ[b"RAYON_NUM_THREADS"] = b"1" + ( lookup, modified,