-
Notifications
You must be signed in to change notification settings - Fork 364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve the performance of opam update/init on Windows #5966
base: master
Are you sure you want to change the base?
Conversation
The PR is now fully working as far as i tested.
I'll split this PR into several smaller ones once 2.2.0 is out. |
let split_url u = | ||
let re = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually it's much easier to do this using domain local storage
let split_url u = | |
let re = | |
let split_url = | |
let re = | |
Domain.DLS.new_key @@ fun () -> |
WIP attempt at (temporary) fixing #5741 by throwing more silicon^Wdomains at the problem while #5648 is being worked on.
This currently requires:
Re.exec
on one pre-compiled Re.re ocaml-re#287 to be fixed or alternatively we could just use mutexes for nowStats.read_files
Mismatching extra-files at ...: missing from 'files' directory (1)
on so many more unrelated packagesCurrent result:
opam update default
goes from 6 seconds to 4 secondsopam init --bare
goes from 6 and a half minutes to 3 minutes exactly. Of that 3 minutes, 1 minute is unchanged and taken by the extraction of the tar.gz archive.Partly inspired by NTFS really isn't that bad - Robert Collins (LCA 2020)
Related to #5591
Fixes #3171
Fixes #4455
Fixes #2442