##// 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-core / src
config
copy_tracing
dirstate
dirstate_tree
operations
revlog
utils
ancestors.rs Loading ...
checkexec.rs Loading ...
config.rs Loading ...
copy_tracing.rs Loading ...
dagops.rs Loading ...
dirstate.rs Loading ...
dirstate_tree.rs Loading ...
discovery.rs Loading ...
errors.rs Loading ...
exit_codes.rs Loading ...
filepatterns.rs Loading ...
lib.rs Loading ...
lock.rs Loading ...
logging.rs Loading ...
matchers.rs Loading ...
narrow.rs Loading ...
repo.rs Loading ...
requirements.rs Loading ...
revlog.rs Loading ...
revset.rs Loading ...
sparse.rs Loading ...
testing.rs Loading ...
utils.rs Loading ...
vfs.rs Loading ...