Mercurial > hg-stable
changeset 50454:5d20fc23e265
rust-readme: rst fixes
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Tue, 04 Apr 2023 11:44:43 +0200 |
parents | 3894763d92f8 |
children | 53f039ed6f20 |
files | rust/README.rst |
diffstat | 1 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/README.rst Mon Apr 03 16:29:30 2023 +0200 +++ b/rust/README.rst Tue Apr 04 11:44:43 2023 +0200 @@ -7,17 +7,19 @@ improves performance in some areas. There are currently four independent Rust projects: + - chg. An implementation of chg, in Rust instead of C. - hgcli. A project that provides a (mostly) self-contained "hg" binary, for ease of deployment and a bit of speed, using PyOxidizer. See - hgcli/README.md. + ``hgcli/README.md``. - hg-core (and hg-cpython): implementation of some functionality of mercurial in Rust, e.g. ancestry computations in revision graphs, status or pull discovery. The top-level ``Cargo.toml`` file defines a workspace containing these crates. - rhg: a pure Rust implementation of Mercurial, with a fallback mechanism for - unsupported invocations. It reuses the logic `hg-core` but completely forgoes - interaction with Python. See `rust/rhg/README.md` for more details. + unsupported invocations. It reuses the logic ``hg-core`` but + completely forgoes interaction with Python. See + ``rust/rhg/README.md`` for more details. Using Rust code =============== @@ -41,10 +43,10 @@ ================ In the future, compile-time opt-ins may be added -to the `features` section in ``hg-cpython/Cargo.toml``. +to the ``features`` section in ``hg-cpython/Cargo.toml``. -To use features from the Makefile, use the `HG_RUST_FEATURES` environment -variable: for instance `HG_RUST_FEATURES="some-feature other-feature"` +To use features from the Makefile, use the ``HG_RUST_FEATURES`` environment +variable: for instance ``HG_RUST_FEATURES="some-feature other-feature"``. Profiling ========= @@ -57,7 +59,7 @@ Creating a ``.cargo/config`` file with the following content enables debug information in optimized builds. This make profiles more informative with source file name and line number for Rust stack frames and -(in some cases) stack frames for Rust functions that have been inlined. +(in some cases) stack frames for Rust functions that have been inlined:: [profile.release] debug = true @@ -69,7 +71,7 @@ as opposed to tools for native code like ``perf``, which attribute time to the python interpreter instead of python functions). -Example usage: +Example usage:: $ make PURE=--rust local # Don't forget to recompile after a code change $ py-spy record --native --output /tmp/profile.svg -- ./hg ...