emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Concurrency, again


From: Eli Zaretskii
Subject: Re: Concurrency, again
Date: Thu, 27 Oct 2016 20:27:34 +0300

> From: Philipp Stephani <address@hidden>
> Date: Tue, 25 Oct 2016 23:28:51 +0000
> 
> I've pushed the experimental branch to 'concurrency-libtask'. It's 
> essentially a simple wrapper around libtask,
> which implements CSP based on setcontext. I've also implemented a Windows 
> equivalent based on
> Windows native fibers, but haven't tried that yet. 

Thanks.

Could you perhaps summarize the relative advantages and disadvantages
of the two concurrency branches?  Your branch doesn't have any
documentation besides doc strings of the new primitives, so it's not
easy to grasp the high-level picture by looking at the details.

One issue that bothers me is whether it's wise to use libtask here,
because the changes you did there seem to imply that we will have to
maintain the library (which is pretty low-level stuff) as part of
Emacs.  Isn't using system threads better?

(In any case, libtask shouldn't go under lib/, that directory is for
Gnulib and related stuff.  It should be a peer directory to lwlib, I
think.)

I'd also like to hear other people's opinions about the way
communications with coroutines is exposed to Lisp, it seemed a bit
tedious and low-level to me.

As for Windows implementation, fibers are only available since XP,
whereas the 32-bit build of Emacs on Windows still attempts to support
older systems.  So using threads here would be better, IMO.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]