emacs-devel
[Top][All Lists]
Advanced

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

Re: On elisp running native - Update 12


From: Andrea Corallo
Subject: Re: On elisp running native - Update 12
Date: Mon, 28 Sep 2020 15:32:07 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Yuan Fu <casouri@gmail.com> writes:

>> On Sep 28, 2020, at 10:51 AM, Andrea Corallo <akrl@sdf.org> wrote:
>> 
>> Yuan Fu <casouri@gmail.com> writes:
>> 
>>> Hi Andrea,
>>> 
>>> Update 12 looks very cool. Is it possible now to eliminate funcall to
>>> all built-in functions (instead of only primitives)? Do you think that
>>> it will give significant speed-up?
>> 
>> Hi Yuan,
>> 
>> in my nomenclature primitive functions are already all C functions.  I
>> always thought that's way to call them [1].  But coming to your question
>> we already remove funcall calling all C functions so... no more
>> improvements there ;)
>> 
>>  Andrea
>> 
>> [1] 
>> <https://www.gnu.org/software/emacs/manual/html_node/eintr/Primitive-Functions.html>
>
> Thanks for clarifying. I got the false impression that normal compiled
> Elisp functions can also be called without funcall when watching your
> talk, or I just remembered wrong. :-)

You remeber correctly, some C functions can be called directly from Lisp
if byte-compiled, but only the ones that got an op-code assigned in
bytecode.  If you are curious see
<https://rocky.github.io/elisp-bytecode.pdf>.  Native code compilation
allow for doing direct calls always as the problem of partitioning the
op byte-code space is not anymore there.

  Andrea



reply via email to

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