Hi Evan,

On Fri, Nov 1, 2024 at 2:28 AM Evan Cooney <evancoone...@gmail.com> wrote:
>
> Hi everyone, I used guile's statprof profiler to collect some performance 
> data for guix package. I added the profiler by using the statprof module in 
> guix/guix/scripts/package.scm and wrapping the call to guix-package* in the 
> guix package define command thing in a lambda, then in statprof. Here is the 
> code: paste.debian.net/1334168
> I collected this data by running guix package -i krita inkscape 
> rust-rustup-toolchain. It uses a significant amount of time in the garbage 
> collector (~75% of total runtime) and ~45% of time is spend calling append. 
> What do y'all make of this? Here is the full data: paste.debian.net/1334174

What are you trying to measure, exactly? The data collected is about a
single thread of a Guile process, but `guix package -i` involves
interaction with the Guix build daemon, waiting for downloads, etc.
These things are outside the scope of what statprof is tracing.
Anything that involves reaching out to the internet is going to make
for an unreliable benchmark. I'm not actively working on Guix tools
but I don't see anything immediately actionable from the collected
data. I think getting some more clarity around the goal is necessary
in order to know what to profile and how.

- Dave

Reply via email to