From: Eli Zaretskii <eliz@gnu.org>
To: John Wiegley <jwiegley@gmail.com>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Concurrency, again
Date: Wed, 12 Oct 2016 20:17:26 +0300 [thread overview]
Message-ID: <83mvi9a3mh.fsf@gnu.org> (raw)
In-Reply-To: <m2fuo1a59i.fsf@newartisans.com> (message from John Wiegley on Wed, 12 Oct 2016 09:42:01 -0700)
> From: John Wiegley <jwiegley@gmail.com>
> Date: Wed, 12 Oct 2016 09:42:01 -0700
> Cc: emacs-devel@gnu.org
>
> Look at what happened with curly quotes: seemingly simple, it got merged into
> master "as an experiment". Then witness how many little issues kept popping up
> everywhere, how much debate on this list, all for something I'm sure many
> thought was totally benign. Now we're talking about doing the same with
> something as open-ended as threading?
Introduction of a significant new feature such as concurrency should
be expected to destabilize Emacs. It is not a minor feature like
quoting.
OTOH, quotes are pervasive in Emacs; most of the issues we had as
fallout were due to that pervasiveness, something that was not
appreciated at first. By contrast, concurrency is NOT pervasive: it
only happens if a Lisp application requests that explicitly. As long
as we don't convert standard Emacs features to use concurrency, it
will not happen in day-to-day operations.
We've had a much tougher decision when bidirectional editing was added
to Emacs. Unlike concurrency, bidi affects every aspect of Emacs,
because it changed how the display engine works in fundamental ways.
Stefan and Chong, who made that decision, had all the reasons to get
their feet cold, but they made that decision anyway. I think the risk
was much higher then than it is now. Given the level of expertise Tom
Tromey has in both Emacs and concurrency, I see no reason to be afraid
now that something terrible will happen that couldn't be fixed as part
of the normal development process.
And if worse comes to worst, and we discover at some point that
concurrency gives us too much trouble for its worth, we can always
remove it from Emacs.
Once again, the concurrency branch is not yet ready for a merge.
Before it is ready, someone should fix the few remaining issues, and
perhaps try using it in a real-life application (which will most
probably expose some more issues). Unless someone volunteers to do
that, there's no "danger" the concurrency branch will ever be merged.
> What could be done to gain experience, as Eli suggests, is maintain a parallel
> fork, the way Firefox is doing with their e10s support. That is, build a
> version of Emacs with threading enabled and, for a couple of years, release it
> in parallel with the main Emacs. Then pick one candidate package, say Gnus,
> and have it demonstrate that threading makes everyone's life better, without
> making things worse for the rest of us.
I don't think this is practical, what with the resources we have.
> If that's too much work to do, my guess is that it's too much work to maintain
> threading with the contributors we now have. My prediction is that it will
> increase our workload, since a new class of bugs will appear that are much
> harder to reproduce and reason about than the sorts of issues we face now.
I urge you to have a look at the sources on the concurrency branch.
There's no threading, in the usual sense of that word: at any given
time, only a single thread is running. It's not at all what you seem
to be imagining. Think about idle timers that run without your having
to do anything to start them: that's what we have there, in a
nutshell, plus a few niceties.
next prev parent reply other threads:[~2016-10-12 17:17 UTC|newest]
Thread overview: 349+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-11 16:29 Guile emacs thread (again) Christopher Allan Webber
2014-09-14 16:20 ` Eli Zaretskii
2014-09-16 14:43 ` Grim Schjetne
2014-09-16 15:50 ` Emacs Lisp's future (was: Guile emacs thread (again)) Stefan Monnier
2014-09-16 16:03 ` Lennart Borgman
2014-09-17 18:24 ` Jorgen Schaefer
2014-09-17 18:42 ` Emacs Lisp's future Lars Brinkhoff
2014-09-17 19:25 ` Emacs Lisp's future (was: Guile emacs thread (again)) Lally Singh
2014-09-18 2:07 ` Alexis
2014-09-18 16:40 ` Emacs Lisp's future Daniel Colascione
2014-09-18 21:54 ` Regular expression creation [was: Re: Emacs Lisp's future] Alexis
2014-09-18 23:37 ` Aurélien Aptel
2014-09-19 0:00 ` Alexis
2014-09-19 2:12 ` Stefan Monnier
2014-09-19 10:07 ` Alexis
2014-09-26 15:25 ` Filipp Gunbin
2014-09-19 18:04 ` Daniel Colascione
2014-09-18 6:35 ` Emacs Lisp's future Andreas Röhler
2014-09-18 15:17 ` Richard Stallman
2014-09-18 16:19 ` Ivan Andrus
2014-09-18 23:19 ` Richard Stallman
2014-09-19 7:18 ` Andreas Röhler
2014-09-19 8:10 ` Andreas Schwab
2014-09-19 8:46 ` David Kastrup
2014-09-18 8:43 ` Emacs Lisp's future (was: Guile emacs thread (again)) Emilio Lopes
2014-09-16 16:09 ` Eli Zaretskii
2014-09-16 16:54 ` Lars Brinkhoff
2014-09-17 15:14 ` Emacs Lisp's future Stefan Monnier
2014-09-17 16:57 ` Lars Brinkhoff
2014-09-16 16:59 ` David Kastrup
2014-09-16 22:58 ` Mark H Weaver
2014-09-16 23:10 ` Mark H Weaver
2014-09-17 13:55 ` David Kastrup
2014-09-17 15:19 ` Mark H Weaver
2014-09-17 16:23 ` David Kastrup
2014-09-17 18:10 ` Nic Ferrier
2014-09-17 5:04 ` mhw
2014-09-17 14:03 ` David Kastrup
2014-09-17 14:39 ` Mark H Weaver
2014-09-17 15:11 ` David Kastrup
2014-09-17 10:48 ` Lars Magne Ingebrigtsen
2014-09-17 10:53 ` Nic Ferrier
2014-09-17 11:21 ` David Kastrup
2014-09-17 11:22 ` Eli Zaretskii
2014-09-17 13:50 ` Phillip Lord
2014-09-17 11:17 ` Phillip Lord
2014-09-17 11:35 ` Nic Ferrier
2014-09-17 12:50 ` Stefan Monnier
2014-09-17 13:54 ` Phillip Lord
2014-09-17 14:24 ` Eli Zaretskii
2014-09-17 14:30 ` David Kastrup
2014-09-17 15:03 ` Eli Zaretskii
2014-09-17 15:10 ` Phillip Lord
2014-09-17 18:04 ` performance isn't a concern in ... " Nic Ferrier
2014-09-17 19:08 ` David Kastrup
2014-09-18 7:54 ` Thorsten Jolitz
2014-09-17 15:09 ` Stefan Monnier
2014-09-17 15:07 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 15:33 ` David Kastrup
2014-09-17 20:11 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 22:42 ` Daniel Colascione
2014-09-18 2:34 ` Stefan Monnier
2014-09-18 3:17 ` David Kastrup
2014-09-18 9:04 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 9:27 ` David Kastrup
2014-09-18 11:15 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 3:46 ` David Kastrup
2014-09-18 9:53 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 10:09 ` David Kastrup
2014-09-18 11:29 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 12:07 ` David Kastrup
2014-09-18 14:12 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 14:56 ` David Kastrup
2014-09-18 15:36 ` Taylan Ulrich Bayirli/Kammer
2014-09-18 16:44 ` David Kastrup
2014-09-17 17:13 ` Eli Zaretskii
2014-09-17 17:33 ` Stefan Monnier
2014-09-17 20:21 ` Richard Stallman
2014-09-18 12:48 ` Phillip Lord
2014-09-18 14:15 ` Rasmus
2014-09-18 14:34 ` Phillip Lord
2014-09-18 15:01 ` Rasmus
2014-09-18 16:08 ` Phillip Lord
2014-09-18 16:18 ` Rasmus
2014-09-18 19:23 ` Stefan Monnier
2014-09-18 23:18 ` Richard Stallman
2014-09-19 0:00 ` Rasmus
2014-09-19 8:00 ` Nic Ferrier
2014-09-19 10:46 ` Stephen J. Turnbull
2014-09-19 11:12 ` David Kastrup
2014-09-19 16:16 ` Stephen J. Turnbull
2014-09-19 11:38 ` Nic Ferrier
2014-09-19 18:02 ` Richard Stallman
2014-09-19 11:53 ` Rasmus
2014-09-19 18:01 ` Richard Stallman
[not found] ` <<E1XV2UO-0005CA-Vk@fencepost.gnu.org>
2014-09-19 18:43 ` Drew Adams
2014-09-18 23:17 ` Richard Stallman
2014-09-19 0:03 ` Rasmus
2014-09-19 10:27 ` Eric S. Raymond
2014-09-23 7:45 ` Emilio Lopes
2014-09-26 16:50 ` Jonas Bernoulli
2014-09-26 18:23 ` Christopher Allan Webber
2014-09-29 8:33 ` Phillip Lord
2014-09-29 13:19 ` Stefan Monnier
2014-09-29 14:47 ` Phillip Lord
2014-09-30 7:58 ` Thorsten Jolitz
2014-09-30 12:19 ` Phillip Lord
2014-09-30 16:15 ` Nic Ferrier
2014-09-30 18:21 ` Thorsten Jolitz
2014-09-30 19:18 ` Thorsten Jolitz
2014-09-30 16:15 ` Nicolas Richard
2014-09-30 17:54 ` Thorsten Jolitz
2014-09-30 18:19 ` Drew Adams
2014-09-26 20:37 ` Stefan Monnier
2014-09-18 23:17 ` Richard Stallman
2014-09-18 23:37 ` Rasmus
2014-09-19 2:03 ` Stefan Monnier
2014-09-19 6:26 ` Adding packages to ELPA (was: Emacs Lisp's future) Eli Zaretskii
2014-09-19 6:47 ` Adding packages to ELPA Rasmus
2014-09-19 13:47 ` Stefan Monnier
2014-09-19 13:56 ` Nic Ferrier
2014-09-19 16:27 ` Stefan Monnier
2014-09-19 12:31 ` Sam Steingold
2014-09-19 13:08 ` Eli Zaretskii
2014-09-19 14:29 ` Sam Steingold
2014-09-19 13:26 ` Stefan Monnier
2014-09-19 13:39 ` Eli Zaretskii
2014-09-19 14:44 ` Stefan Monnier
2014-09-19 15:00 ` Eli Zaretskii
2014-09-19 15:41 ` Phillip Lord
2014-09-19 15:45 ` Eli Zaretskii
2014-09-19 18:03 ` Richard Stallman
2014-09-19 16:34 ` Stefan Monnier
2014-09-19 17:30 ` Eli Zaretskii
2014-09-19 18:13 ` Stefan Monnier
2014-09-20 16:09 ` Stephen Leake
2014-09-20 16:23 ` Eli Zaretskii
2014-09-21 15:05 ` Stephen Leake
2014-09-20 20:02 ` Stefan Monnier
2014-09-20 16:00 ` Stephen Leake
2014-09-20 16:21 ` Eli Zaretskii
2014-09-22 7:53 ` Phillip Lord
2014-09-22 14:50 ` Eli Zaretskii
2014-09-22 19:34 ` SP? {Spam?} " Phillip Lord
2014-09-19 18:02 ` Richard Stallman
2014-09-19 18:02 ` Richard Stallman
2014-09-17 22:49 ` Emacs Lisp's future Daniel Colascione
2014-09-17 12:46 ` Eric Brown
2014-09-17 13:33 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 13:52 ` Eli Zaretskii
2014-09-17 15:11 ` Taylan Ulrich Bayirli/Kammer
2014-09-17 20:23 ` Richard Stallman
2014-09-17 21:13 ` Lars Magne Ingebrigtsen
2014-09-20 19:31 ` Robin Templeton
2016-10-07 10:47 ` Lars Brinkhoff
2016-10-07 11:03 ` Nikolay Kudryavtsev
2016-10-07 11:27 ` Philippe Vaucher
2016-10-07 11:48 ` Nikolay Kudryavtsev
2016-10-08 14:00 ` Ben
2016-10-08 15:39 ` Stefan Monnier
2016-10-07 12:52 ` Stefan Monnier
2016-10-08 8:23 ` Helmut Eller
2016-10-08 12:07 ` Clément Pit--Claudel
2016-10-08 14:26 ` Nicolas Petton
2016-10-08 20:57 ` Richard Stallman
2016-10-08 21:40 ` Nicolas Petton
2016-10-11 18:38 ` Clojure namespaces (was: Re: Emacs Lisp's future) Chad Brown
2016-10-08 22:15 ` Emacs Lisp's future Helmut Eller
2016-10-10 9:00 ` Richard Stallman
2016-10-11 1:42 ` Richard Stallman
2016-10-11 7:47 ` Helmut Eller
2016-10-11 14:44 ` Elias Mårtenson
2016-10-12 3:17 ` Tom Tromey
2016-10-13 21:23 ` Richard Stallman
2016-10-13 21:35 ` Tom Tromey
2016-10-17 0:44 ` Richard Stallman
2016-10-10 4:09 ` Georges Ko
2016-10-10 4:51 ` Clément Pit--Claudel
2016-10-10 13:56 ` Georges Ko
2016-10-11 4:06 ` Marcin Borkowski
2016-10-11 4:18 ` Clément Pit--Claudel
2016-10-11 7:16 ` Marcin Borkowski
2016-10-11 13:33 ` Clément Pit--Claudel
2016-10-11 14:54 ` Elias Mårtenson
2016-10-11 15:10 ` Clément Pit--Claudel
2016-10-11 17:55 ` Elias Mårtenson
2016-10-11 17:08 ` Marcin Borkowski
2016-10-10 15:26 ` raman
2016-10-07 15:32 ` Kelvin White
2016-10-07 16:18 ` Søren Pilgård
2016-10-07 16:25 ` Kaushal Modi
2016-10-08 2:09 ` Tom Tromey
2016-10-08 20:58 ` Richard Stallman
2016-10-07 17:07 ` John Wiegley
2016-10-09 12:03 ` Toon Claes
2016-10-09 12:33 ` Eli Zaretskii
2016-10-10 2:59 ` John Wiegley
2016-10-10 7:17 ` Concurrency, again (was: Emacs Lisp's future) Eli Zaretskii
2016-10-10 15:42 ` Concurrency, again Paul Eggert
2016-10-12 12:47 ` Stefan Monnier
2016-10-12 15:24 ` raman
2016-10-12 16:42 ` John Wiegley
2016-10-12 17:17 ` Eli Zaretskii [this message]
2016-10-12 18:01 ` John Wiegley
2016-10-12 19:26 ` Eli Zaretskii
2016-10-12 19:43 ` Stefan Monnier
2016-10-12 20:59 ` Perry E. Metzger
2016-10-12 21:20 ` Søren Pilgård
2016-10-12 21:33 ` Perry E. Metzger
2016-10-12 22:31 ` Stefan Monnier
2016-10-12 23:33 ` John Wiegley
2016-10-13 5:55 ` Eli Zaretskii
2016-10-13 13:27 ` Perry E. Metzger
2016-10-13 15:05 ` Stefan Monnier
2016-10-13 17:25 ` John Wiegley
2016-10-13 18:14 ` Stefan Monnier
2016-10-14 21:01 ` Richard Stallman
2016-10-14 21:48 ` Stefan Monnier
2016-10-15 1:24 ` John Wiegley
2016-10-15 5:48 ` Eli Zaretskii
2016-10-15 22:03 ` Richard Stallman
2016-10-16 0:38 ` John Wiegley
2016-10-16 6:40 ` Eli Zaretskii
2016-10-17 0:43 ` Richard Stallman
2016-10-17 6:10 ` Eli Zaretskii
2016-10-25 13:34 ` Philipp Stephani
2016-10-25 22:28 ` Dmitry Gutov
2016-10-13 19:34 ` Clément Pit--Claudel
2016-10-13 19:49 ` John Wiegley
2016-10-14 15:26 ` Ted Zlatanov
2016-10-14 15:47 ` Michael Albinus
2016-10-14 16:57 ` John Wiegley
2016-10-14 18:03 ` John Wiegley
2016-10-14 18:06 ` Ted Zlatanov
2016-10-15 7:16 ` Michael Albinus
2016-10-17 14:13 ` Ted Zlatanov
2016-10-17 18:33 ` Ken Raeburn
2016-10-17 18:41 ` Stefan Monnier
2016-10-14 17:01 ` Stefan Huchler
2016-10-17 14:53 ` Perry E. Metzger
2016-10-17 16:07 ` Eli Zaretskii
2016-10-17 16:34 ` Perry E. Metzger
2016-10-17 16:57 ` Eli Zaretskii
2016-10-17 17:53 ` Perry E. Metzger
2016-10-17 18:06 ` Lars Ingebrigtsen
2016-10-18 3:27 ` Stefan Huchler
2016-10-18 14:34 ` Lars Ingebrigtsen
2016-10-18 14:58 ` Eli Zaretskii
2016-10-18 15:05 ` Lars Ingebrigtsen
2016-10-18 15:36 ` Eli Zaretskii
2016-10-18 19:26 ` Lars Ingebrigtsen
2016-10-18 15:15 ` joakim
2016-10-18 16:20 ` Stefan Huchler
2016-10-18 18:37 ` Browsers inside Emacs (was Re: Concurrency, again) Perry E. Metzger
2016-10-17 18:19 ` Concurrency, again Eli Zaretskii
2016-10-18 19:47 ` Richard Stallman
2016-10-18 19:47 ` Richard Stallman
2016-10-18 20:29 ` Web browsing (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 19:57 ` Richard Stallman
2016-10-19 20:44 ` Perry E. Metzger
2016-10-20 18:04 ` Richard Stallman
2016-10-19 8:52 ` Concurrency, again Ricardo Wurmus
2016-10-19 13:07 ` Emacs as browser (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 20:02 ` Richard Stallman
2016-10-19 20:38 ` Perry E. Metzger
2016-10-20 7:33 ` Eli Zaretskii
2016-10-20 15:15 ` Perry E. Metzger
2016-10-20 15:42 ` Eli Zaretskii
2016-10-20 22:22 ` Cairo bugs (was Re: Emacs as browser (was Re: Concurrency, again)) Perry E. Metzger
2016-10-21 7:31 ` Emacs as browser (was Re: Concurrency, again) Dov Grobgeld
2016-10-21 19:43 ` Paul Eggert
2016-10-23 6:23 ` Dov Grobgeld
2016-10-23 9:39 ` Dov Grobgeld
2016-10-23 10:26 ` Paul Eggert
2016-10-20 18:15 ` Philippe Vaucher
2016-10-20 18:41 ` Perry E. Metzger
2016-10-20 20:56 ` Philippe Vaucher
2016-10-21 1:45 ` Richard Stallman
2016-10-20 19:24 ` Eli Zaretskii
2016-10-20 20:33 ` Philippe Vaucher
2016-10-21 6:53 ` Eli Zaretskii
2016-10-21 12:39 ` Tookits (was Re: Emacs as browser) Perry E. Metzger
2016-10-21 12:57 ` Eli Zaretskii
2016-10-21 13:45 ` Perry E. Metzger
2016-10-20 18:04 ` Emacs as browser (was Re: Concurrency, again) Richard Stallman
2016-10-20 18:30 ` Perry E. Metzger
2016-10-20 18:57 ` Paul Eggert
2016-10-21 1:45 ` Richard Stallman
2016-10-21 3:09 ` Perry E. Metzger
2016-10-25 13:30 ` Concurrency, again Philipp Stephani
2016-10-12 21:24 ` joakim
2016-10-12 18:19 ` John Wiegley
2016-10-15 4:45 ` SAKURAI Masashi
2016-10-17 15:29 ` Perry E. Metzger
2016-10-18 3:14 ` Tom Tromey
2016-10-18 6:18 ` Eli Zaretskii
2016-10-18 7:58 ` Ken Raeburn
2016-10-18 9:22 ` Eli Zaretskii
2016-10-18 10:08 ` Ken Raeburn
2016-10-18 10:41 ` Eli Zaretskii
2016-10-19 10:18 ` Ken Raeburn
2016-10-19 11:57 ` Eli Zaretskii
2016-10-20 6:08 ` Ken Raeburn
2016-10-20 7:54 ` Eli Zaretskii
2016-10-20 7:12 ` Herring, Davis
2016-10-20 7:55 ` Ken Raeburn
2016-10-20 16:22 ` Paul Eggert
2016-10-18 10:46 ` Alan Third
2016-10-19 7:02 ` Ken Raeburn
2016-10-18 14:04 ` Tom Tromey
2016-10-25 13:27 ` Philipp Stephani
2016-10-25 16:28 ` Eli Zaretskii
2016-10-25 16:45 ` John Wiegley
2016-10-25 16:48 ` Philipp Stephani
2016-10-25 17:04 ` Stefan Huchler
2016-10-25 18:43 ` Philipp Stephani
2016-10-25 21:44 ` John Wiegley
2016-10-25 23:28 ` Philipp Stephani
2016-10-27 17:27 ` Eli Zaretskii
2016-10-27 19:13 ` Daniel Colascione
2016-10-27 20:55 ` Christopher Allan Webber
2016-10-27 21:50 ` Daniel Colascione
2016-10-28 7:53 ` Eli Zaretskii
2016-10-31 6:42 ` Tom Tromey
2016-10-26 14:03 ` Ted Zlatanov
2016-10-26 15:09 ` Eli Zaretskii
2016-10-25 17:12 ` Eli Zaretskii
2016-10-25 13:22 ` Philipp Stephani
2016-10-25 14:24 ` Stefan Monnier
2016-10-25 14:41 ` Philipp Stephani
2016-10-26 13:50 ` Ted Zlatanov
2016-10-26 14:32 ` Stefan Monnier
2016-10-26 14:39 ` Ted Zlatanov
2016-10-25 16:25 ` Eli Zaretskii
2016-10-25 23:47 ` Richard Stallman
2016-10-10 15:24 ` Emacs Lisp's future raman
2016-10-09 12:43 ` Søren Pilgård
2016-10-09 13:13 ` Philipp Stephani
2016-10-09 13:15 ` Eli Zaretskii
2014-09-17 19:29 ` Guile emacs thread (again) Lluís
2014-09-17 19:34 ` Lally Singh
2014-09-18 12:23 ` Robin Templeton
2014-09-19 1:15 ` Christopher Allan Webber
2014-09-20 13:20 ` Richard Stallman
2014-09-20 15:54 ` Eli Zaretskii
2014-09-21 13:35 ` Richard Stallman
2014-09-21 16:16 ` Stefan Monnier
2014-09-21 17:00 ` Eli Zaretskii
2014-09-21 20:09 ` Stefan Monnier
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=83mvi9a3mh.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=jwiegley@gmail.com \
--cc=monnier@iro.umontreal.ca \
/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.