HomePhabricator

copies-rust: move CPU-heavy Rust processing into a child thread

Authored by SimonSapin.

Description

copies-rust: move CPU-heavy Rust processing into a child thread

… that runs in parallel with the parent thread fetching data.
This can be disabled through a new config. CLI example:

hg --config=devel.copy-tracing.multi-thread=no

For now both threads use the GIL, later commits will reduce this.

Differential Revision: https://phab.mercurial-scm.org/D9684