Maxime Devos schreef op vr 06-05-2022 om 20:09 [+0200]: > Some interesting things: > > (git/diff.go) > │ │ │ │ │ │ ├── strings --all --bytes=8 {} > │ │ │ │ │ │ │ @@ -89,14 +89,15 @@ > │ │ │ │ │ │ │   ( 0(8 @ D8\ > │ │ │ │ │ │ │  B((4B@JP > │ │ │ │ │ │ │  Guile 3.0.7 > │ │ │ │ │ │ │  libgit2->procedure@@git/bindings > │ │ │ │ │ │ │  raise-git-error@@git/bindings > │ │ │ │ │ │ │  diff-fold > │ │ │ │ │ │ │  git/diff.scm > │ │ │ │ │ │ │ +git/bindings.scm > │ │ │ │ │ │ │  ice-9/boot-9.scm > │ │ │ │ │ │ │  libgit2->procedure@@git/bindings > │ │ │ │ │ │ │  raise-git-error@@git/bindings > │ │ │ │ │ │ │  diff-fold > │ │ │ │ │ │ │  DIFF-OPTIONS-VERSION > │ │ │ │ │ │ │  GIT-SUBMODULE-IGNORE-UNSPECIFIED > │ │ │ │ │ │ │  GIT-SUBMODULE-IGNORE-NONE > > > A similar +git/bindings.scm exists for git/fetch.go, git/tree.go and > other go files. > Maybe the following is relevant (https://wingolog.org/archives/2021/05/13/cross-module-inlining-in-guile) : > There are a few caveats about this facility, and they are sufficiently sharp that I should probably fix them some day. The first one is that for an imported module to expose inlinable definitions, the imported module needs to have been compiled already, not loaded from source. When you load a module from source using the interpreter instead of compiling it first, the pipeline is optimized for minimizing the latency between when you ask for the module and when it is available. There's no time to analyze the module to determine which exports are inlinable and so the module exposes no inlinable exports. Currently, GUILE_AUTO_COMPILE=0 is set, so dependencies are not compiled before compiling dependent modules -- except when if one of the modules was compiled already! Maybe removing 'GUILE_AUTO_COMPILE=0' will fix things? Greetings, Maxime.