Re: SBCL Fibers proposal

Gábor Melis <[email protected]> Wed, 4 Mar 2026 10:20:07 +0100
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CADJFn4XCaM6NZ7QtHp82Xx23hMjVSTLHcev+sExX9kq=XvwgBw@mail.gmail.com>
- 2.6 "and a parked carrier is woken": Is there always one?

- 2.7 "finish-fibers joins all carrier threads and returns results": Should
be "joins all fibers in the group"?

- 8.3: How can waiting on mutexes be efficient? As far as I can tell, it
falls under "waiting list walk" in maintenance.

- 12:
  Unlike THREAD-JOIN, FIBER-JOIN only returns one return value. Why?

  The assumption is that unwinding from a fiber can happen on ERRORs only.
This is mostly true because
  - no catch tags established around the user-provided function;
  - catch tags from other fibers or the carrier thread are not visible
  - lexical non-local exits are invalid.

  That leaves SERIOUS-CONDITIONs. How can they be dealt with?

  Does the interactive debugger work with fibers? Can we provide restarts
like ABORT, RETURN-VALUE, RETURN-NOTHING as in the OS thread case?

- 13.4 (WHEN (AND *CURRENT-FIBER* *CURRENT-SCHEDULER*) ...): Special
variable access (2) on the hot path?

- 14: Why not compare to OS threads with smaller stack sizes?


On Sun, 1 Mar 2026 at 14:59, Anthony Green <[email protected]> wrote:

> My fibers patches aren't ready to be submitted yet, but I've posted
> the proposal, including many details and some benchmark results here:
> https://atgreen.github.io/repl-yell/posts/sbcl-fibers/
>
> If it's easier to provide feedback on the list, I could post the entire
> text here.
>
> Thanks,
> AG
> _______________________________________________
> Sbcl-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sbcl-devel
>

_______________________________________________
Sbcl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-devel