From: "T.V Raman" <raman@google.com>
To: Matt Armstrong <matt@rfc20.org>
Cc: Eli Zaretskii <eliz@gnu.org>,
Stefan Monnier <monnier@iro.umontreal.ca>,
ofv@wanadoo.es, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Enabling native compilation by default when libgccjit is present
Date: Tue, 07 Dec 2021 09:02:12 -0800 [thread overview]
Message-ID: <p91y24wqrfv.fsf@google.com> (raw)
In-Reply-To: <87czm81jzn.fsf@rfc20.org> (Matt Armstrong's message of "Tue, 07 Dec 2021 08:02:20 -0800")
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 2501 bytes --]
Matt Armstrong <matt@rfc20.org> writes:
The best explanation I have heard on this was from Stefan a while ago
where he pointed out that the .eln files should be generated from the
.elc files, not the .el files, see that thread.
The warnings are annoying but that is not the worst of it, some of them
--- likely a small number are real.
In the past when I have said this, Eli has challenged me to file bugs
for each one, but that is infeasible --- so for my own use I've disabled
native-comp and moved on.
Andrea -- you've done wonderful work here, but please make sure that
the last mile isn't left unpaved ---> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>>> Cc: rms@gnu.org, ofv@wanadoo.es, emacs-devel@gnu.org
>>> Date: Mon, 06 Dec 2021 08:57:40 -0500
>>>
>>> > I don't think this could fly in practice, because I see no way of
>>> > predicting when it will provide a benefit.
>>>
>>> I'm pretty sure it can fly in some practice, but I think it would have
>>> to be a JIT rather than AOT compiler: rather than having to predict the
>>> proportion of time spent in subrs vs time spent in bytecode.c, it could
>>> measure it and (re)compile the parts that seem most promising.
>>> I think Java's HotSpot compiler was among the firsts to do this kind
>>> of thing, but I expect it's fairly widespread in JIT compilers nowadays.
>>
>> Sounds like a good idea for a PhD.
>
> Indeed, PhDs have been completed in this area.
>
> Beyond hot spot, JIT in dynamic languages can use other techniques, such
> as specializing the JITed code to the concrete types the code sees in
> practice, etc. I'm not an expert so I'll stop there.
>
> I find the approach taken by Ruby's new YJIT interesting. They achieve
> low "warm up time" before reaching peak performance, and the approach
> doesn't significantly reduce the performance of not-yet-JITed code.
>
> https://shopify.engineering/yjit-just-in-time-compiler-cruby is a good
> summary. The primary lead on he project recently got a PhD in the
> technique used.
>
> I don't see any technical barriers preventing Emacs and/or Guile from
> taking the same kinds of approach, but it would be a large effort,
> requiring deep expertise. It might make more sense to do it in Guile,
> in the hopes of making Guile Emacs an attractive proposition.
>
--
Thanks,
--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1 0Ü8
next prev parent reply other threads:[~2021-12-07 17:02 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-02 19:25 Enabling native compilation by default when libgccjit is present Andrea Corallo
2021-12-02 19:39 ` Eli Zaretskii
2021-12-03 16:52 ` Lars Ingebrigtsen
2021-12-03 18:30 ` Eli Zaretskii
2021-12-03 21:27 ` Lars Ingebrigtsen
2021-12-03 18:53 ` Stefan Kangas
2021-12-03 21:30 ` Lars Ingebrigtsen
2021-12-03 22:39 ` Stefan Kangas
2021-12-04 2:48 ` Lars Ingebrigtsen
2021-12-04 7:48 ` Eli Zaretskii
2021-12-04 19:28 ` Andrea Corallo
2021-12-04 19:41 ` Lars Ingebrigtsen
2021-12-04 19:57 ` Andrea Corallo
2021-12-05 5:04 ` Richard Stallman
2021-12-05 5:09 ` Lars Ingebrigtsen
2021-12-05 5:29 ` Po Lu
2021-12-05 5:31 ` Lars Ingebrigtsen
2021-12-05 5:46 ` Po Lu
2021-12-05 5:48 ` Lars Ingebrigtsen
2021-12-05 6:00 ` Po Lu
2021-12-05 5:54 ` Tim Cross
2021-12-05 8:20 ` Eli Zaretskii
2021-12-05 11:27 ` Stefan Kangas
2021-12-05 14:15 ` Jose A. Ortega Ruiz
2021-12-05 16:52 ` Arthur Miller
2021-12-05 17:42 ` Jose A. Ortega Ruiz
2021-12-05 20:48 ` Arthur Miller
2021-12-05 17:10 ` Óscar Fuentes
2021-12-05 19:25 ` Jose A. Ortega Ruiz
2021-12-05 20:55 ` Óscar Fuentes
2021-12-05 22:59 ` Stefan Monnier
2021-12-05 19:40 ` Lars Ingebrigtsen
2021-12-05 20:02 ` Eli Zaretskii
2021-12-05 20:32 ` Lars Ingebrigtsen
2021-12-05 23:03 ` Stefan Monnier
2021-12-05 23:05 ` Lars Ingebrigtsen
2021-12-05 23:27 ` Stefan Monnier
2021-12-05 20:37 ` Óscar Fuentes
2021-12-05 21:44 ` Arthur Miller
2021-12-05 21:48 ` Lars Ingebrigtsen
2021-12-05 22:58 ` Arthur Miller
2021-12-05 21:15 ` Arthur Miller
2021-12-06 4:33 ` Richard Stallman
2021-12-06 12:59 ` Eli Zaretskii
2021-12-06 13:57 ` Stefan Monnier
2021-12-06 14:08 ` Eli Zaretskii
2021-12-07 16:02 ` Matt Armstrong
2021-12-07 16:55 ` tomas
2021-12-07 17:02 ` T.V Raman [this message]
2021-12-05 20:00 ` Jim Myhrberg
2021-12-06 1:03 ` Dmitry Gutov
2021-12-06 2:50 ` Jim Myhrberg
2021-12-06 12:59 ` Dmitry Gutov
2021-12-07 0:34 ` João Pedro de Amorim Paula
2021-12-08 4:34 ` Richard Stallman
2021-12-09 17:00 ` David Koppelman
2021-12-06 4:33 ` Richard Stallman
2021-12-03 22:34 ` Michael Heerdegen
2021-12-04 7:26 ` Eli Zaretskii
2021-12-07 4:38 ` Michael Heerdegen
2021-12-07 5:02 ` Michael Heerdegen
2021-12-07 13:59 ` Eli Zaretskii
2021-12-08 2:31 ` Michael Heerdegen
2021-12-08 9:55 ` Robert Pluim
2021-12-09 0:56 ` Michael Heerdegen
2021-12-08 12:52 ` Eli Zaretskii
2021-12-08 8:16 ` Andreas Schwab
2021-12-08 13:21 ` Eli Zaretskii
2021-12-09 0:29 ` Michael Heerdegen
2021-12-09 4:49 ` Stefan Monnier
2021-12-09 5:27 ` Michael Heerdegen
2021-12-09 10:22 ` Andrea Corallo
2021-12-09 13:14 ` Stefan Monnier
2021-12-09 22:28 ` Michael Heerdegen
2021-12-09 22:50 ` Michael Heerdegen
2021-12-10 8:06 ` Eli Zaretskii
2021-12-11 3:11 ` Michael Heerdegen
2021-12-07 13:53 ` Eli Zaretskii
2021-12-08 2:25 ` Michael Heerdegen
2021-12-08 2:40 ` Po Lu
2021-12-08 3:39 ` Michael Heerdegen
2021-12-08 12:55 ` Eli Zaretskii
2021-12-08 17:08 ` T.V Raman
2021-12-08 13:52 ` Stefan Monnier
2021-12-08 14:31 ` Eli Zaretskii
2021-12-09 7:19 ` Óscar Fuentes
2021-12-08 12:51 ` Eli Zaretskii
2021-12-09 0:44 ` Michael Heerdegen
2021-12-09 4:13 ` Richard Stallman
2021-12-09 9:27 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2021-12-05 17:24 Angelo Graziosi
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=p91y24wqrfv.fsf@google.com \
--to=raman@google.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=matt@rfc20.org \
--cc=monnier@iro.umontreal.ca \
--cc=ofv@wanadoo.es \
--cc=rms@gnu.org \
/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.