rust/hgcli/Cargo.toml
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 18 Jul 2018 09:46:45 -0700
changeset 38731 ef3838a47503
parent 35569 964212780daf
child 44729 26ce8e751503
permissions -rw-r--r--
worker: ability to disable thread unsafe tasks The worker on Windows is implemented using a thread pool. If worker tasks are not thread safe, badness can occur. In addition, if tasks are executing CPU bound code and holding onto the GIL, there will be non-substantial overhead in Python context switching between active threads. This can result in significant slowdowns of tasks. This commit teaches the code for determining whether to use a worker to take thread safety into account. Effectively, thread unsafe tasks don't use the thread-based worker on Windows. Differential Revision: https://phab.mercurial-scm.org/D3962

[package]
name = "hgcli"
version = "0.1.0"
authors = ["Gregory Szorc <gregory.szorc@gmail.com>"]
license = "GPL-2.0"

build = "build.rs"

[[bin]]
name = "hg"
path = "src/main.rs"

[features]
# localdev: detect Python in PATH and use files from source checkout.
default = ["localdev"]
localdev = []

[dependencies]
libc = "0.2.34"

# We currently use a custom build of cpython and python27-sys with the
# following changes:
# * GILGuard call of prepare_freethreaded_python() is removed.
# TODO switch to official release when our changes are incorporated.
[dependencies.cpython]
version = "0.1"
default-features = false
features = ["python27-sys"]
git = "https://github.com/indygreg/rust-cpython.git"
rev = "c90d65cf84abfffce7ef54476bbfed56017a2f52"

[dependencies.python27-sys]
version = "0.1.2"
git = "https://github.com/indygreg/rust-cpython.git"
rev = "c90d65cf84abfffce7ef54476bbfed56017a2f52"