[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why is Elisp slow? (was: Re: Naming, and Gnus functions length [Was: Re:
From: |
Emanuel Berg |
Subject: |
Why is Elisp slow? (was: Re: Naming, and Gnus functions length [Was: Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code]]) |
Date: |
Mon, 08 Oct 2018 22:44:45 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Eli Zaretskii wrote:
>> I once said to the Gnus developers, why
>> don't you break down those age-long
>> functions, to make it much easier to read
>> and maintain the code?
>>
>> They said Gnus is slow, Elisp is slow, and
>> breaking the defuns up into neat modules
>> would make it even slower.
>
> They are right.
Why is Elisp slow?
Is it funcall overhead that is slow in
particular or is Elisp slow in other aspects
as well?
Is Lisp slow in general? For example, compared
to C? If so, what is the reason for this?
How much faster does it (Elisp) get with the
byte compiler?
How much faster can one get it with inlining,
assuming it is done by a skilled hand?
Are there other speed-up methods other than
inlining. (I mean specifically, not "write
better code".)
Is there like a list of things, functions
perhaps, or data structures, that shouldn't be
used unless necessary, because they are slow?
Is there a tool that I can enable, then use
Emacs a whole day (or night rather), and then
the tool tells me "everything is OK, except for
when you do this, that sticks out as something
that drags down the tempo, so maybe you should
have a look at it"?
Facts for fans: This post contains 12 "?"s!
--
underground experts united
http://user.it.uu.se/~embe8573
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], (continued)
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Óscar Fuentes, 2018/10/10
- Message not available
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/08
- Naming, and Gnus functions length [Was: Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code]], Garreau, Alexandre, 2018/10/08
- Message not available
- Re: Naming, and Gnus functions length [Was: Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code]], Emanuel Berg, 2018/10/08
- Re: Naming, and Gnus functions length [, Garreau, Alexandre, 2018/10/08
- Message not available
- Re: Naming, and Gnus functions length [, Emanuel Berg, 2018/10/08
- Re: Naming, and Gnus functions length [Was: Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code]], Eli Zaretskii, 2018/10/08
- Message not available
- Why is Elisp slow? (was: Re: Naming, and Gnus functions length [Was: Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code]]),
Emanuel Berg <=
- Re: Why is Elisp slow?, Garreau, Alexandre, 2018/10/08
- Re: Why is Elisp slow?, Stefan Monnier, 2018/10/09
- Message not available
- Re: Why is Elisp slow?, Emanuel Berg, 2018/10/09
- Re: Why is Elisp slow?, Garreau, Alexandre, 2018/10/09
- Re: Why is Elisp slow?, Eli Zaretskii, 2018/10/09
- Message not available
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/07
- Message not available
- Re: Knowing where a function has been used (e.g. for optimizing) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/07
- Getting functions usage examples [Was: Re: Knowing where a function has been used (e.g. for optimizing) [Was: Re: Optimising Elisp code]], Garreau, Alexandre, 2018/10/07
- Re: Getting functions usage examples [Was: Re: Knowing where a function has been used (e.g. for optimizing) [Was: Re: Optimising Elisp code]], Van L, 2018/10/07
- Re: Getting functions usage examples [, Garreau, Alexandre, 2018/10/08