##// END OF EJS Templates
worker: avoid reading 1 byte at a time from the OS pipe...
worker: avoid reading 1 byte at a time from the OS pipe Apparently `pickle.load` does a lot of small reads, many of them literally 1-byte, so it benefits greatly from buffering. This change enables the buffering, at the cost of more complicated interaction with the `selector` API. On one repository with ~400k files this reduces the time by about ~30s, from ~60 to ~30s. The difference is so large because the actual updating work is parallellized, while these small reads are bottlenecking the central hg process.

File last commit:

r50533:5844cd8e default
r50794:3eef8baf default
Show More
Cargo.toml
19 lines | 404 B | text/plain | TOMLLexer
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 [package]
name = "hg-cpython"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
Raphaël Gomès
rust: move all crates in the main workspace to edition 2021...
r50524 edition = "2021"
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001
[lib]
name='rusthg'
crate-type = ["cdylib"]
[dependencies]
Raphaël Gomès
hg-cpython: upgrade dependencies...
r50533 cpython = { version = "0.7.1", features = ["extension-module"] }
crossbeam-channel = "0.5.6"
Raphaël Gomès
rust-re2: add wrapper for calling Re2 from Rust...
r44786 hg-core = { path = "../hg-core"}
Raphaël Gomès
hg-cpython: upgrade dependencies...
r50533 libc = "0.2.137"
log = "0.4.17"
env_logger = "0.9.3"
Simon Sapin
rust: Make OwningDirstateMap generic and move it into hg-core...
r48766 stable_deref_trait = "1.2.0"
pacien
rust: add vcsgraph crate as dependency...
r49348 vcsgraph = "0.2.0"