On Thu, Sep 07, 2023 at 08:09:33AM -0500, Eric Blake wrote:
On Wed, Sep 06, 2023 at 05:02:06PM -0500, Eric Blake wrote:
> > Okay, I'll merge in that aspect of my original along with your other
> > improvements, and push something soon. Fingers crossed that we'll
> > finally get a green CI run today.
>
> Now in as 75979812. Still not a green CI run; but the BSD builds now
> work. The only remaining holdout is OpenSUSE Leap 15.5, where OCaml is
> stuck at 4.06 and therefore lacks List.to_seq |> Map.of_seq. I'm not
> sure if it is worth trying to copy the 4.07 implementations just so we
> can keep the two sorted name maps (one of the reasons you WANT to use
> a standard library implementation of Map is that writing a correct
> self-balancing binary tree implementation is not trivial). But do we
> need the resulting sets of APIs to be sorted by name? If we just
> stick to constructs in 4.06, we may be hit with slower O(n^2) list
> filtering when comparing which APIs go in which of the two lists (sync
> vs async), but is our list of APIs so large that it actually makes a
> noticeable difference to compile time?
>
> Rich, do you have any more ideas beyond Erik's recommendation [1] of
> just dropping OpenSUSE 15.5 and focusing only on Tumbleweed?
>
> [1]
https://gitlab.com/nbdkit/libnbd/-/merge_requests/5#note_1535510343
Thanks to stackoverflow [2], I came up with an alternative (using
List.fold_left to build up from NameMap.empty through repeated
NameMap.add, without any intermediate representation in Seq). As of
commit db9f6bf6, we finally have green CI in libnbd again!
[2]
https://stackoverflow.com/questions/61220655/how-to-initialize-map-from-l...
Excellent news, thanks!
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html