[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Naming, and Gnus functions length [
From: |
Garreau, Alexandre |
Subject: |
Re: Naming, and Gnus functions length [ |
Date: |
Mon, 08 Oct 2018 17:52:48 +0200 |
User-agent: |
Gnus (5.13), GNU Emacs 25.1.1 (i686-pc-linux-gnu) |
On 2018-10-08 at 17:43, Emanuel Berg wrote:
> Garreau, Alexandre wrote:
>>> If you have studied the Gnus source code, you find that the defuns
>>> are insanely long. They go on all but forever. This is because Gnus
>>> is already slow, and perhaps Elisp is as well, so they don't want to
>>> brake it up into modules (smaller defuns) because then it would
>>> require the funcall overhead. Perhaps Gnus would benefit from
>>> inlining stuff?
>>
>> Maybe Gnus functions length are just a question of style. I guess
>> their developers are experienced enough to know how to properly use
>> manual inlining. And anyway, as, as you pointed it, Gnus can already
>> be sometimes quite slow, it’s probably more because of I/O than
>> function call overhead, so this later must be neglictible in
>> comparison. So Gnus functions length is probably unrelated.
>
> 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.
Seriously? is Gnus so complex (algorithmically at run-time I mean)?
damn, I wouldn’t have figured out… Then indeed maybe it could… as these
“neat modules” would be only used by Gnus and not all the way around…
but yet: keeping the dynamic behavior (which must be wanted since no
defsubst/define-inline is already used to fix this), while having the
neat modules, if they’re ubiquitous enough, might mean recompiling a big
part of Gnus at each changed function. So in the thesis of an
automatically-optimizing compiler, maybe the compiler wouldn’t inline
that much…
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], (continued)
- Message not available
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/14
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], tomas, 2018/10/15
- Message not available
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/15
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Van L, 2018/10/15
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Garreau, Alexandre, 2018/10/16
- Message not available
- Re: Knowing where a function has been used (bis) [Was: Re: Optimising Elisp code], Emanuel Berg, 2018/10/17
- 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 <=
- 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, 2018/10/08
- 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