From: Davis Herring <herring@lanl.gov>
To: "Andreas Röhler" <andreas.roehler@online.de>
Cc: "Alan Mackenzie" <acm@muc.de>, "Eli Zaretskii" <eliz@gnu.org>,
"Clément Pit--Claudel" <clement.pit@gmail.com>,
emacs-devel@gnu.org
Subject: Re: C and Emacs Lisp code parts
Date: Tue, 5 Jul 2016 11:02:13 -0600 [thread overview]
Message-ID: <577BE815.9050805@lanl.gov> (raw)
In-Reply-To: <0606cae0-93b6-7e4a-c760-411326ac6970@online.de>
>> Git, like init (and /etc/init.d), Emacs, NumPy, and basically every
>> other non-trivial software system in existence, consists of a mix of
>> compiled and interpreted code according to the strengths and
>> weaknesses of each. Everyone knows this.
>
> So why you tell that?
> [...]
> Still don't understand why qualifying git "C-based" should be wrong.
Because you drew attention to Git's C basis as (what appeared to be) an
argument for moving Emacs in that direction, despite the fact that Emacs
is already C-based in much the same fashion as Git (other than that
there are many C functions which take Lisp_Object).
> My suggestion is about re-considerating, reversing a kind of dogmatic
> pro-elisp policy - as I felt it.
> While completely agree with Clément's posts here --stressing the
> benefits of Lisp debugging etc.--
> these strength is less important WRT lifetime of core functions.
The extent of that policy is "put in in Elisp unless there's a good
reason not to", which is merely a question of burden of proof. And that
direction of burden makes sense: it is widely accepted that C
programming takes longer, so why pay for it in the case where no one can
point out a reason one way or the other?
> The idea is about reflecting the reasons which part to keep in C, which
> in Lisp. Don't have a quick answer for that. Roughly would favor to look
> what belongs to user-space, what not. Also stuff which is used seldom
> probably doesn't deserve C, etc.
No disagreement here -- but the utility of this conversation is quite
limited until you have such an answer (quick or otherwise). Merely
suggesting that people (who, say, are implementing a new feature and
need to decide what language to use) consider carefully which language
to use is not usefully distinct from the current "policy".
> Amdahl is about processing power raised by number of kernels, no idea
> what the example should contribute here.
Amdahl's law is not so limited: see more precisely
<https://en.wikipedia.org/wiki/Amdahl%27s_law#Speedup_in_a_serial_program>.
Spelled out explicitly: if, in some context, we spend only (say) 20% of
our time running Lisp code (vs., say, redisplay), then we can improve
the speed of that context by no more than 25% by rewriting that Lisp in
any fashion whatsoever (including C).
Davis
--
This product is sold by volume, not by mass. If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.
next prev parent reply other threads:[~2016-07-05 17:02 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-01 8:03 C and Emacs Lisp code parts Andreas Röhler
2016-07-01 8:13 ` Eli Zaretskii
2016-07-01 8:39 ` Andreas Röhler
2016-07-01 9:16 ` Alan Mackenzie
2016-07-01 12:07 ` Andreas Röhler
2016-07-01 13:04 ` Eli Zaretskii
2016-07-05 22:48 ` John Wiegley
2016-07-06 7:25 ` Andreas Röhler
2016-07-06 7:31 ` Andreas Röhler
2016-07-06 15:27 ` Phillip Lord
2016-07-01 9:17 ` John Wiegley
2016-07-01 13:26 ` Andreas Röhler
2016-07-01 9:25 ` Eli Zaretskii
2016-07-01 12:25 ` Andreas Röhler
2016-07-01 13:01 ` Eli Zaretskii
2016-07-01 13:05 ` Andy Moreton
2016-07-01 15:14 ` Karl Fogel
2016-07-01 16:52 ` Andreas Röhler
2016-07-01 17:13 ` Eli Zaretskii
2016-07-01 17:36 ` Andreas Röhler
2016-07-01 17:38 ` Eli Zaretskii
2016-07-02 16:41 ` Fabrice Popineau
2016-07-02 17:16 ` Eli Zaretskii
2016-07-01 17:55 ` Alan Mackenzie
2016-07-01 18:31 ` Andreas Röhler
2016-07-01 18:57 ` Alan Mackenzie
2016-07-01 20:04 ` Andreas Röhler
2016-07-01 20:31 ` Davis Herring
2016-07-02 6:34 ` Andreas Röhler
2016-07-02 11:29 ` Paul Eggert
2016-07-05 17:02 ` Davis Herring [this message]
2016-07-05 19:35 ` Andreas Röhler
2016-07-02 6:32 ` Eli Zaretskii
2016-07-02 7:01 ` Andreas Röhler
2016-07-02 8:15 ` Eli Zaretskii
2016-07-02 3:32 ` Tom Tromey
2016-07-02 3:42 ` Clément Pit--Claudel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=577BE815.9050805@lanl.gov \
--to=herring@lanl.gov \
--cc=acm@muc.de \
--cc=andreas.roehler@online.de \
--cc=clement.pit@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).