From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Concurrency, again Date: Wed, 12 Oct 2016 22:26:45 +0300 Message-ID: <83bmyp9xmy.fsf@gnu.org> References: <87wq97i78i.fsf@earlgrey.lan> <86k2dk77w6.fsf@molnjunk.nocrew.org> <9D64B8EA-DB52-413D-AE6A-264416C391F3@iotcl.com> <83int1g0s5.fsf@gnu.org> <83twckekqq.fsf@gnu.org> <83mvi9a3mh.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1476300494 9626 195.159.176.226 (12 Oct 2016 19:28:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 12 Oct 2016 19:28:14 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: John Wiegley Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 12 21:28:03 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1buPBs-0007v6-12 for ged-emacs-devel@m.gmane.org; Wed, 12 Oct 2016 21:27:48 +0200 Original-Received: from localhost ([::1]:35368 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buPBp-000531-F7 for ged-emacs-devel@m.gmane.org; Wed, 12 Oct 2016 15:27:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buPBI-00052o-El for emacs-devel@gnu.org; Wed, 12 Oct 2016 15:27:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1buPBE-0007OO-Da for emacs-devel@gnu.org; Wed, 12 Oct 2016 15:27:12 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33211) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buPBE-0007OH-8V; Wed, 12 Oct 2016 15:27:08 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3473 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1buPBA-0007W1-Pd; Wed, 12 Oct 2016 15:27:06 -0400 In-reply-to: (message from John Wiegley on Wed, 12 Oct 2016 11:01:35 -0700) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:208183 Archived-At: > From: John Wiegley > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > Date: Wed, 12 Oct 2016 11:01:35 -0700 > > https://www.reddit.com/r/emacs/comments/56q8ih/john_wiegley_id_much_rather_we_reexamine_the/ > > It's interesting to note how many people agree with caution, or don't claim to > need threading, vs. those calling for its inclusion. Most of that thread is irrelevant, because most, if not all the participants obviously have no idea what the concurrency branch tries to do, what are its scope and limits, and what will be its impact on Emacs. People who want to make up their own mind are encouraged to do git diff ...origin/concurrency and read the diffs. They are not large, which already should speak volumes about the potential impact. They also include very nice documentation, so C-challenged readers don't need to wade through C code to get the feeling of what it is about. There are also ERT tests that could serve as simple examples of Lisp usage. For those who do decide to read the diffs, I have a small quiz of 2 questions, which are supposed to summarize what you have learned: 1) What will be different behavior-wise in a concurrency-enabled Emacs that runs Lisp code which never creates any additional threads? 2) If a Lisp application does create other threads, where in the code you reviewed will thread switch happen, and by what mechanism? Enjoy your reading.