##// 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.
Arseniy Alekseyev -
r50794:3eef8baf default
Show More
Name Size Modified Last Commit Author
/ rust / hg-cpython / src
dirstate
ancestors.rs Loading ...
cindex.rs Loading ...
conversion.rs Loading ...
copy_tracing.rs Loading ...
dagops.rs Loading ...
debug.rs Loading ...
dirstate.rs Loading ...
discovery.rs Loading ...
exceptions.rs Loading ...
lib.rs Loading ...
pybytes_deref.rs Loading ...
ref_sharing.rs Loading ...
revlog.rs Loading ...
utils.rs Loading ...