all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrea Corallo via "Emacs development discussions." <emacs-devel@gnu.org>
To: emacs-devel@gnu.org
Cc: Eli Zaretskii <eliz@gnu.org>, Paul Eggert <eggert@cs.ucla.edu>,
	Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: Native compilation: the bird-eye view
Date: Mon, 10 Aug 2020 09:23:56 +0000	[thread overview]
Message-ID: <xjfo8nic0r7.fsf@sdf.org> (raw)
In-Reply-To: <jwv4krsz08c.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Wed, 03 Jun 2020 10:38:19 -0400")

Hi all,

so I did some experimentation on moving the eln into a cache directory.

ATM I've something that works this way:

Compiling Emacs elns are produced into a dedicate folder in the source
tree as emacs/eln-cache

Inside there is another directory level to disambiguate triplet and
Emacs configuration:

~/emacs$ ls eln-cache/
x86_64-pc-linux-gnu-f618cbdb0cd39c5f

Inside we have the eln files:

~/emacs$ ls eln-cache/x86_64-pc-linux-gnu-f618cbdb0cd39c5f/
4Corner-6622083dd2e93eda9a23ab8fb261bfd716e557cd3f955484db09a43143948f77.eln
5x5-cf035056577934b61cfe135fec6b6c67af96dd8378fa341ecd6a1b68ee789f48.eln
abbrev-e1c1055cee82bacc9771ef6694dd80578cd97e869a489b42ff5b74ca8e00cbb6.eln
abbrevlist-9cb12f8701f1f34beea0fbf333c35a3643bdec0691490b8fd70579ec26904723.eln
add-log-4a4d094c86ae3143226b9e64aab356b7ced423a8c9b72b2156f75117b4ae1a66.eln
...

I left the original name for comodity at the beginning and the hash
afterwards.  We could enconde in this hash also triplet and
configuration to remove one directory layer but I thought is more handy
for the user to have the eln divided this way.

Anyway, these elns are the one produced during the build, so the one
that will be installed in a sys directory.  As a consequence I've added
a second eln-cache directory for the compilations produced during normal
use placed like ~/.emacs.d/eln-cache (well the exact value is computed
using `user-emacs-directory').

This implies that during a load we check if the file exists first in the
eln user directory and then if necessary in the system one.

I'd like to get some feedback if you guys think this schema makes sense
or you see some issues.

Another question I have: do you think would be accettable at (first)
startup to create the eln user directory and populate it with sym links
for each eln file pointing to the eln in the system eln-cache directory?
This way we could save one file look-up and simplify the code given we
would point always and only to the user directory.

Thanks!

  Andrea

--
akrl@sdf.org



  reply	other threads:[~2020-08-10  9:23 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-16 11:51 Native compilation: the bird-eye view Eli Zaretskii
2020-05-16 12:58 ` Andrea Corallo
2020-05-16 15:57   ` Paul Eggert
2020-05-16 16:26   ` Eli Zaretskii
2020-05-16 17:03     ` Andrea Corallo
2020-05-16 17:35       ` Eli Zaretskii
2020-05-16 17:44         ` Andrea Corallo
2020-05-16 17:50           ` Eli Zaretskii
2020-05-16 18:26             ` Andrea Corallo
2020-05-16 18:32               ` Eli Zaretskii
2020-05-16 18:41                 ` Andrea Corallo
2020-05-18 14:27                   ` Andrea Corallo
2020-05-19  5:08                     ` ASSI
2020-05-19 16:25                     ` Andrea Corallo
2020-05-19 16:37                       ` Stefan Kangas
2020-05-19 19:16                         ` Andrea Corallo
2020-05-29 17:25                       ` Andrea Corallo
2020-06-02 15:16                       ` Stefan Monnier
2020-06-03 14:23                         ` Andrea Corallo
2020-06-03 14:38                           ` Stefan Monnier
2020-08-10  9:23                             ` Andrea Corallo via Emacs development discussions. [this message]
2020-08-10 12:20                               ` Stefan Monnier
2020-08-10 21:34                                 ` Andrea Corallo via Emacs development discussions.
2020-08-15 10:51                                   ` Andrea Corallo via Emacs development discussions.
2020-08-15 15:00                                     ` Eli Zaretskii
2020-08-19 15:01                                     ` Andrea Corallo via Emacs development discussions.
2020-08-20  0:53                                       ` tumashu
2020-08-20  8:11                                         ` Andrea Corallo via Emacs development discussions.
2020-08-23 12:19                                       ` Andrea Corallo via Emacs development discussions.
2020-08-23 15:37                                         ` Stefan Monnier
2020-08-23 16:31                                           ` Andrea Corallo via Emacs development discussions.
2020-08-23 18:20                                             ` Stefan Monnier
2020-08-24  8:03                                               ` Andrea Corallo via Emacs development discussions.
2020-08-24 13:31                                                 ` Stefan Monnier
2020-08-24 14:09                                                   ` Andrea Corallo via Emacs development discussions.
2020-08-30 10:18                                             ` Path for system-wide .eln files (was: Native compilation: the bird-eye view) Ulrich Mueller
2020-08-30 20:50                                               ` Path for system-wide .eln files Andrea Corallo via Emacs development discussions.
2020-08-30 21:51                                                 ` Stefan Monnier
2020-08-31 19:13                                                   ` Andrea Corallo via Emacs development discussions.
2020-08-31 21:16                                                     ` Ulrich Mueller
2020-09-01  4:28                                                       ` Yuri Khan
2020-09-01  7:16                                                         ` Ulrich Mueller
2020-09-01  8:46                                                           ` tomas
2020-09-04 17:55                                                           ` Andrea Corallo via Emacs development discussions.
2020-09-04 18:25                                                             ` Ulrich Mueller
2020-09-04 19:47                                                               ` Andrea Corallo via Emacs development discussions.
2020-09-04 20:01                                                                 ` Ulrich Mueller
2020-09-04 21:42                                                                   ` Stefan Monnier
2020-09-04 22:59                                                                     ` Ulrich Mueller
2020-09-05  2:58                                                                       ` Stefan Monnier
2020-09-05  7:10                                                                         ` Ulrich Mueller
2020-09-06  6:24                                                                           ` Andrea Corallo via Emacs development discussions.
2020-09-05  7:48                                                                     ` Alfred M. Szmidt
2020-05-16 19:11               ` Native compilation: the bird-eye view Yuan Fu
2020-05-17  4:04                 ` Ihor Radchenko
2020-05-17 11:18                 ` Arthur Miller
2020-05-16 22:09               ` John Wiegley
2020-05-17  4:11     ` Ihor Radchenko
2020-05-17  7:43       ` Andrea Corallo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xjfo8nic0r7.fsf@sdf.org \
    --to=emacs-devel@gnu.org \
    --cc=akrl@sdf.org \
    --cc=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.