Hi, Lars-Dominik Braun skribis: > That would have been my best guess too, but it does not seem to be the biggest > problem right now. Looking at the numbers again (both patches applied) with the > attached manifest[1], I see that: > > ---snip--- > Local UNIX socket with and without --no-grafts: > N Min Max Median Avg Stddev > x 10 6.07 6.35 6.145 6.16 0.08232726 > + 10 17.47 17.89 17.545 17.602 0.14351152 > Difference at 99.0% confidence > 11.442 +/- 0.150576 > 185.747% +/- 4.07133% > > Local UNIX socket vs. guix://localhost transport: > N Min Max Median Avg Stddev > x 10 17.47 17.89 17.545 17.602 0.14351152 > + 10 17.43 18.1 17.61 17.642 0.20131788 > No difference proven at 99.0% confidence > > Local UNIX socket vs ssh://localhost transport: > N Min Max Median Avg Stddev > x 10 17.47 17.89 17.545 17.602 0.14351152 > + 10 33.46 35.27 34.315 34.359 0.53873205 > Difference at 99.0% confidence > 16.757 +/- 0.5074 > 95.1994% +/- 3.13957% > ---snap--- > > So I would conclude: > > 1) Grafting still takes a lot of time and needs more work Yes, I noticed that there’s still redundant work being done, so we may need global caching in addition to what 58bb833365db4e8934a386497d5b00a063cfd27d did. > 2) Linux optimizes localhost networking pretty well > 3) Our SSH transport is terribly slow Yes. The patch below is a noticeable improvement for me. On my laptop, GUIX_DAEMON_SOCKET=ssh://localhost ./pre-inst-env guix build libreoffice -n goes from 5.8s to 3.3s. It just does the same thing as we do for guix://. Could you check what results it gives you? > So, I guess it would make sense for me to look at the SSH transport itself > again and see if there are any other low-hanging fruit. Not sure how much I can > help with profiling guile/guix itself. A different/better RPC protocol is > probably GSoC/v2.0-worthy? There’s a project to rewrite the daemon in Scheme, started by Caleb Ristvedt (reepa) as part of GSoC a few years ago. This could be an opportunity to add a new version of the protocol that would support pipelining. Thanks, Ludo’.