all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Karl Fogel <kfogel@red-bean.com>
Cc: Andy Wingo <wingo@pobox.com>, emacs-devel@gnu.org
Subject: Re: guile and emacs and elisp, oh my!
Date: Sun, 25 Apr 2010 13:36:16 -0600	[thread overview]
Message-ID: <m37hnvqq8f.fsf@fleche.redhat.com> (raw)
In-Reply-To: <874oj3tt7n.fsf@red-bean.com> (Karl Fogel's message of "Thu, 22 Apr 2010 11:14:36 -0400")

>>>>> "Karl" == Karl Fogel <kfogel@red-bean.com> writes:

Karl> Andy Wingo <wingo@pobox.com> writes:
>> I would humbly submit that you have, over time, restricted the range of
>> programs that you would write in Elisp, to that set of programs that
>> Emacs' implementation of Elisp can deal with.

Karl> What Andy said.

>> There are many programs that you just can't write in Elisp, linguistic
>> expressiveness aside: the implementation just isn't fast enough. It
>> shouldn't be that hard to thread my inbox ;-)

Karl> What Andy said, again :-).

Do you know for certain that the performance problem is caused by the
elisp implementation, and not by some bad algorithm in whatever mail
program you are using?

My experience profiling Emacs is that the profiles have a long tail, and
the actual interpreter, while slow (it was #3 in the profiles as I
recall), would not result in an enormous gain even if it disappeared
completely.  I think this was also the result of the elisp JIT
experiment.

In the particular case I looked at, regular expressions were the #1 slow
point, followed by the GC; and even the GC was only 10%.  (My test was
heavy on regex use; though FWIW I suspect this is very common in elisp
code.)

I'm interested to understand how Guile will be faster-enough to make
this better.

I can see how this could be done via a very deep rewrite (e.g., if the
Emacs core was itself in lisp, you could do all the fun tricks that
typical CL implementations do), but I'm curious to know what other
clever approaches there are.

Tom




  reply	other threads:[~2010-04-25 19:36 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-14 20:18 guile and emacs and elisp, oh my! Andy Wingo
2010-04-15  8:38 ` christian.lynbech
2010-04-15  8:53 ` joakim
2010-04-15 17:34   ` Andy Wingo
2010-04-15 23:54   ` Ken Raeburn
2010-04-16  6:48     ` joakim
2010-04-16 17:05     ` Ken Raeburn
2010-04-16 17:16       ` Ken Raeburn
2010-04-16 18:23       ` Stefan Monnier
2010-04-20 22:36 ` Tom Tromey
2010-04-21  7:37   ` christian.lynbech
2010-04-21  9:27   ` David Engster
2010-04-21  9:49     ` David Kastrup
2010-04-21 11:04       ` Lennart Borgman
2010-04-21 11:58       ` David Engster
2010-04-21 12:22         ` David Kastrup
2010-04-21 16:43   ` Ludovic Courtès
2010-04-22  9:35   ` Andy Wingo
2010-04-22 15:14     ` Karl Fogel
2010-04-25 19:36       ` Tom Tromey [this message]
2010-04-23  2:00     ` Thomas Lord
2010-04-23  8:28       ` Andy Wingo
2010-04-23  9:17         ` Ludovic Courtès
2010-04-23 10:19         ` christian.lynbech
2010-04-23 11:28           ` Andy Wingo
2010-04-23 11:31             ` christian.lynbech
2010-04-23 13:10               ` Andy Wingo
2010-04-23 22:43         ` Thomas Lord
2010-04-24 11:05           ` Andy Wingo
2010-04-25  0:02             ` Thomas Lord
2010-04-25 16:54           ` Richard Stallman
2010-04-25 17:11             ` Andy Wingo

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m37hnvqq8f.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=emacs-devel@gnu.org \
    --cc=kfogel@red-bean.com \
    --cc=wingo@pobox.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.