[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is Elisp really that slow?
From: |
Emanuel Berg |
Subject: |
Re: Is Elisp really that slow? |
Date: |
Wed, 15 May 2019 13:25:25 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
tomas wrote:
>>>> 1) Identify what is slow in Elisp.
>>>>
>>>> 2) Rewrite it in C?
>>>
>>> 3) Write a regexp-to-assembler compiler.
>>> Bonus points if that runs on the GPU,
>>> using its SIMD features.
>>
>> Please DIY Mr. Zerolo, personally I'd be
>> happy to try out translating Elisp into C.
>
> But regexp match /was/ the bottleneck in the
> code sample you posted, whose core loop is:
>
> (while (re-search-forward regexp end t)
> (replace-match to-string) )
>
> (go benchmark it, Emacs offers great
> facilities for that). So no amount of Elisp
> -> C translation or other Elisp speedup will
> make your code noticeably faster.
:) I believe you! It is not that. Personally,
I don't really care that much for Emacs' speed.
I don't really care if other people use it or
not [1]. I mean, I'd _like_ it to be faster and for
more people to use it. But it doesn't bug me on
a daily basis, if you get me.
So from a personal POV, I would be
interesting/fun to write some of my Elisp into
C, and if I get good enough at it, maybe
I could even do it for the project.
You know my Elisp, hardly brilliant but
capable, and I think my C would be good again
if I picked it up after not doing it for
many years.
So the practical issue is how to do it not in
the Elisp sense, not in the C sense, but in the
_Elisp-to-C sense in the context of Emacs_.
And for that purpose, the Elisp I posted and
you referred to (thank you) is too complicated!
Baby steps first.
So, how do I write this in C with correct
conventions?
(defun hello-elisp-world ()
"This docstring is for display purposes only."
(interactive)
(message "hello Elisp world!")
)
;; (hello-elisp-world) ; eval me, otherwise you don't know what it does
Them, where do I put it (assuming it gets its
own file for test purposes) and do I need to
change the Makefile or build process in general
to make it work?
> Notice how this ‘C source code’ above is
> a link? Follow it, either by putting point on
> it and hitting ENTER or by mouse- clicking on
> it, and presto, you are in the middle of
> a C function written to be called from Elisp
Yes, I know about that, of course :) I think
you suspected that, but thanks anyway as I'm
not the only one reading this...
> (you compile your Emacs from source code, do
> you?).
I don't because I didn't get Emacs-w3m to work
last time I tried, and I always prefered the
repos, anyway. But installation of Emacs itself
was amazingly smooth. I solved the problem with
Emacs-w3m with "apt pinning", which I described
here: [2]
If your comment refers to the Emacs C source,
one can set that up even tho one has Emacs from
the repos. Apparently now it isn't for me, as
it doesn't work, but I have done it before, so
I know it's possible :) If your comment refers
to ~"make a manual install and start mucking
around", I can do that as well :)
> In the manual, there is "E7. Writing Emacs
> Primitives".
You mean this one:
(info "(elisp) Writing Emacs Primitives")
?
[1] "I don't really care if other people use it
or not" - this sounds like... something
that isn't my impression, that other people
don't use it! Because almost _every_
programmer I meet on the street and we
start to talk about our stuff, they use
some Unix system, most often Linux,
sometimes BSD. "What editor do you use?"
"Emacs." ~2/3 times. Only perhaps they can
read my mind and give me the answer I so
much desire... Wait! I just said I didn't
care! What the heck am I talking about?!?
[2] http://lists.gnu.org/archive/html/help-gnu-emacs/2019-04/msg00261.html
--
underground experts united
http://user.it.uu.se/~embe8573
- Re: Is Elisp really that slow?, (continued)
- Re: Is Elisp really that slow?, Samuel Wales, 2019/05/12
- Re: Is Elisp really that slow?, Stefan Monnier, 2019/05/13
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/13
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/13
- Re: Is Elisp really that slow?, tomas, 2019/05/14
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/14
- Re: Is Elisp really that slow?, tomas, 2019/05/14
- Re: Is Elisp really that slow?,
Emanuel Berg <=
- Re: Is Elisp really that slow?, tomas, 2019/05/15
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/15
- Re: Is Elisp really that slow?, tomas, 2019/05/16
- Re: Is Elisp really that slow?, Noam Postavsky, 2019/05/16
- Re: Is Elisp really that slow?, tomas, 2019/05/16
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/23
- Re: Is Elisp really that slow?, Van L, 2019/05/23
- Re: Is Elisp really that slow?, Eli Zaretskii, 2019/05/16
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/23
- RE: Is Elisp really that slow?, Drew Adams, 2019/05/23