stdlib/fedora.gl: Try to cache dependencies
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 5 Oct 2021 12:12:28 +0000 (13:12 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 5 Oct 2021 12:29:21 +0000 (13:29 +0100)
commit4a0f02d061d551fbf3275ca4a82f0cf94f16eee5
treeaacd0d4b1b375b57673fb08a813f7030ede24a5b
parent40de1e7ffb9232fb90a2862f3024fc6f3156c5d4
stdlib/fedora.gl: Try to cache dependencies

For the large number of OCaml packages (~ 200) it takes a very long
time to recompute the list of dependencies.  The real reason for this
is that we calculate the bin2src hash table over and over again for
each dependency.  Each time it takes about 6 seconds.

Try one approach to caching this.

This does improve performance quite a lot, at the minor annoyance of
leaving ".depcache" files in the Fedora directory.

A future approach might consider allowing bin2src to be created once
when goals starts up and then making it available to all shell script
snippets.  I'm not sure how to implement that.

Another possible approach in future would be to internalize the
(key, value) cache implied here.  This would let us cache the result
of earlier runs so no recomputation would be needed.
stdlib/fedora.gl