##// END OF EJS Templates
upgrade: no longer keep all revlogs in memory at any point...
upgrade: no longer keep all revlogs in memory at any point Keeping all object open is unsustainable, so we will open them on demand. This mean opening them multiple times, but this is a lesser evil. Each revlog consume a small amount of memory (index content, associated nodemap, etc). While there are few "big" revlog, the sheer amount of small filelog can become a significant issue memory wise, consuming multiple GB of memory. If you combines this extra usage with the use of multiprocessing, this usage can quickly get out of control. This can effectively block the upgrade of larger repository. This changeset fixes this issue.
marmoute -
r50447:19948429 stable
Show More
Name Size Modified Last Commit Author
/ rust / hg-core / src
config
copy_tracing
dirstate
dirstate_tree
operations
revlog
utils
ancestors.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 ...