When calling opam install <pkg> one of the first processes opam calls are:
/usr/bin/tar xfz /home/opam/.opam/repo/default.tar.gz -C /tmp/opam-5953-44547
....
rm -rf /tmp/opam-5953-44547/default
These two commands seem to be the main IO bottleneck in CI where /tmp is not tmpfs for technical reason (cached containerization). I feel like we might see a good performance improvement by decompressing the repository in OCaml directly probably in some kind of stream mode if the thing that needs the repository information can be used this way.
Partially related to the later discussion in #3050
When calling
opam install <pkg>one of the first processes opam calls are:These two commands seem to be the main IO bottleneck in CI where
/tmpis not tmpfs for technical reason (cached containerization). I feel like we might see a good performance improvement by decompressing the repository in OCaml directly probably in some kind of stream mode if the thing that needs the repository information can be used this way.Partially related to the later discussion in #3050