changeset 44904:7ca1d635e4a6

rust: add a pointer for profiling to the README As figuring out how to get useful profiles is not obvious. Differential Revision: https://phab.mercurial-scm.org/D8603
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
date Sat, 30 May 2020 11:36:30 -0400
parents 69d3ce00df99
children f330d6117a5b
files rust/README.rst
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rust/README.rst	Sat May 30 10:28:46 2020 -0400
+++ b/rust/README.rst	Sat May 30 11:36:30 2020 -0400
@@ -34,6 +34,21 @@
 One day we may use this environment variable to switch to new experimental
 binding crates like a hypothetical ``HGWITHRUSTEXT=hpy``.
 
+Profiling
+=========
+
+Setting the environment variable ``RUST_LOG=trace`` will make hg print
+a few high level rust-related performance numbers. It can also
+indicate why the rust code cannot be used (say, using lookarounds in
+hgignore).
+
+``py-spy`` (https://github.com/benfred/py-spy) can be used to
+construct a single profile with rust functions and python functions
+(as opposed to ``hg --profile``, which attributes time spent in rust
+to some unlucky python code running shortly after the rust code, and
+as opposed to tools for native code like ``perf``, which attribute
+time to the python interpreter instead of python functions).
+
 Developing Rust
 ===============