Re: guile profiling / speeding up derivations on slow storage

2022-12-09 Thread zimoun
Hi,

On Thu, 01 Dec 2022 at 02:02, Csepp  wrote:

> First of all, I'm curious, how do other Guile developers profile code?

Well, recently Ludo posted a heap profiler for Guile

https://lists.gnu.org/archive/html/guile-user/2022-11/msg00012.html

> Could we add a profiling flag for the CLI similar to the existing
> debugging flags?

I agree that some utilities would be welcome.  And for instance, I am
unable to use ,profile or ’statprof’.

Well, maybe it could be interesting to collect various scenarios as
proposed in this thread [1].

1: https://yhetil.org/guix/87lenve3t2@gnu.org

Cheers,
simon



guile profiling / speeding up derivations on slow storage

2022-11-30 Thread Csepp
I'd really like to speed up guix pull on my netbook and have been
thinking about ways to do so for a while.

First of all, I'm curious, how do other Guile developers profile code?
Could we add a profiling flag for the CLI similar to the existing
debugging flags?
On a related note, has anyone tried to write a causal profile for Guile,
or a similar Scheme implementation?

One thing that definitely needs improvements is memory usage.  That
should speed things up a lot too, since it would result in less swapping
on machines like mine.
I would love to hear some tips on doing memory profiling on Guile from
someone who has done that.  I also looked into porting the ideas from
Scalene to Guile, but haven't gotten far since I'm busy with uni and
other Guix projects.

I also thought about some possible ways of caching expensive
computations that are not built using the store.  Since Guix is mostly
purely functional in practice, I wonder if we could take some notes from
languages like Yatima.  Or just use a plain old database for some
operations that are currently done by Scheme.

I know some of this must have already been discussed, but it's pretty
hard to track it down, and I think the roadmap for performance
improvements really should be centralized somewhere.