Improve the performance of opam update/init on Windows#5966
Draft
kit-ty-kate wants to merge 18 commits intoocaml:masterfrom
Draft
Improve the performance of opam update/init on Windows#5966kit-ty-kate wants to merge 18 commits intoocaml:masterfrom
kit-ty-kate wants to merge 18 commits intoocaml:masterfrom
Conversation
Member
Author
|
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. |
This was referenced May 22, 2024
kit-ty-kate
commented
Aug 2, 2024
Comment on lines
+46
to
47
| let split_url u = | ||
| let re = |
Member
Author
There was a problem hiding this comment.
actually it's much easier to do this using domain local storage
Suggested change
| let split_url u = | |
| let re = | |
| let split_url = | |
| let re = | |
| Domain.DLS.new_key @@ fun () -> |
kit-ty-kate
commented
May 19, 2025
Comment on lines
+563
to
+566
| let log_mutex = Mutex.create () | ||
| let log section ?(level=1) k = | ||
| Mutex.protect log_mutex @@ fun () -> | ||
| k @@ fun fmt -> |
Member
Author
There was a problem hiding this comment.
this might not be necessary if we replace the use of the default formatters by their OCaml5 Format.get_* counterparts. See ocaml/ocaml#10453
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WIP attempt at (temporary) fixing #5741 by throwing more silicon^Wdomains at the problem while #5648 is being worked on.
This currently requires:
Re.execon one pre-compiled Re.re ocaml-re#287 to be fixed or alternatively we could just use mutexes for nowStats.read_filesMismatching extra-files at ...: missing from 'files' directory (1)on so many more unrelated packagesCurrent result:
opam update defaultgoes from 6 seconds to 4 secondsopam init --baregoes 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