unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Speeding up Flymake in emacs-lisp-mode
@ 2018-11-02 11:54 João Távora
  2018-11-02 12:08 ` Stefan Monnier
  2018-11-02 12:26 ` Noam Postavsky
  0 siblings, 2 replies; 10+ messages in thread
From: João Távora @ 2018-11-02 11:54 UTC (permalink / raw)
  To: emacs-devel

Hi,

If you've tried M-x flymake-mode in emacs-lisp sources, you'll have
noticed there's a byte-compilation backend.  This relies on launching an
external 'emacs -Q' on an idle timer which does little but byte-compile
the a file with the buffer's contents and collect messages, which are
then used to annotate the buffer.

It works very well on Mac and Linux, but on windows is unusably slow
(presumably) because of a ~1 sec process-launching overhead.

It'd probably be better if only one process was launched and asked
(perhaps using server.el) to compile the files.  But this would have a
major disadvantage over the current approach, which is that the elisp
runtime is tainted by previous compilations.  The external process
approach doesn't have this disadvantage, since every emacs is clean when
launched.

Which brings me to my question: is there a way to re-flash the current
emacs's image with a brand new one, or to erase any side-effects of
previous byte-compilations? The only pitfall would be that I would need
server.el's bits to escape this reflashing otherwise I would be locked
out.

Thanks,
João



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-11-02 14:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-02 11:54 Speeding up Flymake in emacs-lisp-mode João Távora
2018-11-02 12:08 ` Stefan Monnier
2018-11-02 12:26 ` Noam Postavsky
2018-11-02 12:34   ` João Távora
2018-11-02 13:05     ` Stefan Monnier
2018-11-02 13:26       ` Noam Postavsky
2018-11-02 14:01         ` João Távora
2018-11-02 14:07           ` Noam Postavsky
2018-11-02 14:06       ` João Távora
2018-11-02 14:25         ` Stefan Monnier

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).