[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19540: repeated ./././ in compiled modules

From: Andy Wingo
Subject: bug#19540: repeated ./././ in compiled modules
Date: Fri, 24 Jun 2016 10:49:12 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi :)

On Fri 24 Jun 2016 10:28, address@hidden (Ludovic Courtès) writes:

> Hello!
> Andy Wingo <address@hidden> skribis:
>> On Thu 23 Jun 2016 15:06, address@hidden (Ludovic Courtès) writes:
>>> ‘canonicalize_file_name’ is costly: roughly one syscall per file name
>>> component.
>>> IIUC, ‘canonicalize_file_name’ is now called once for each ‘%load-path’
>>> entry and file name that we canonicalize.  Is this correct?
>> That's correct, but only for relative canonicalization, which is in
>> practive only when loading Scheme files from source.  Seems out of the
>> hot path; what do you think?
> I think it’s likely to have a noticeable impact on startup time for
> projects with a large number of modules like Guix.

Aren't they usually compiled?  Loading compiled files will not
go through this path AFAIU.

> For instance, commands like ‘guix package -A’ or ‘guix build foo’ load
> all the modules.  The impact will be smaller on a laptop with an SSD
> than on an NFS mount, where it’s likely going to be terrrible (this
> could be tested using the ‘delay’ device mapper.)

Oh I'm with you that we need to be careful here.  I am under the
impression though that there's no additional impact here because this is
just something that happens at compile-time.  Or if you load a source
file, but in that case you're evaluating and expecting a perf loss is
not the end of the world.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]