[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is Elisp really that slow?
From: |
tomas |
Subject: |
Re: Is Elisp really that slow? |
Date: |
Wed, 15 May 2019 14:05:53 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, May 15, 2019 at 01:25:25PM +0200, Emanuel Berg wrote:
> tomas wrote:
[...]
> :) I believe you! It is not that. Personally,
> I don't really care that much for Emacs' speed.
Me neither. But some might...
> 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?
A bit pressed at the moment to provide you with
a working example, but just following the forward-char
pattern might get you far. But see below...
> > 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...
Great :)
The point I wanted to make is that Emacs has been
very good at keeping itself hackable, and this seems
a more important metrics than raw speed, given Emacs's
"mission".
> > (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]
Hm. I see. Did you file a bug report?
> 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 :)
I think I dimly remember something in this list.
> > In the manual, there is "E7. Writing Emacs
> > Primitives".
>
> You mean this one:
>
> (info "(elisp) Writing Emacs Primitives")
Yes. Following this has the downside that you end
up with a "modified Emacs". Thus, perhaps "E8 Writing
Dynamically-Loaded Modules", where your C functions
end up in a separate library, loaded by Emacs at
run time, is more interesting.
That said, it is always a trade-off: stuff written
in Elisp is far more hackable, so writing extensions
in C takes a lot of consideration and a good interface
design (how could people want to use my new function?),
given the "hackability cost".
Cheers
-- tomás
signature.asc
Description: Digital signature
- 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, 2019/05/15
- Re: Is Elisp really that slow?,
tomas <=
- 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
- Re: Is Elisp really that slow?, Eli Zaretskii, 2019/05/23