On Tue, May 07, 2024 at 02:07:43AM +0200, Florian Weimer wrote: > * Richard W. M. Jones: > > > On Mon, May 06, 2024 at 10:16:45AM +0200, Florian Weimer wrote: > >> * Richard W. M. Jones: > >> > >> > This email is mostly to notify that this is happening. I'm not sure > >> > if a single package slowing down compilation means we need to do > >> > anything here, but if anyone else sees similar symptoms, let us know. > >> > >> What blocks you from profiling it and fixing the performance issue? > > > > I did profile it down to a couple of functions in a very dark corner > > of the compiler (see the thread on cocci devel list that I posted). > > However in the time available last week I didn't have the time to > > understand what it was doing or fix it. > > It's computing a transitive closure of a graph, but in a strange way. > > The graph it chokes on has 12,732 vertices and 56,289 edges, and 3,449 > vertices are Top. So it's really not very large, and the original graph > is even quite sparse. > > This should fix it: > > flambda: Improve transitive closure in invariant_params_in_recursion > <https://github.com/ocaml/ocaml/pull/13150> > > Compilation is still not exactly fast, but I think it's bearable (less > than 40 seconds over here). > > My original comment was a bit of a snark, admittedly. This one was > slightly more challenging than usual because it takes a while until > invariant_params_in_recursion is reached, so if you hit ^C under GDB to > early, you won't see where it's really spending its time. But I'm > pretty sure profiling with just 10 samples per second would have > revealed the problematic area just fine. Thanks! I will keep an eye on the pull request. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue