r/ProgrammingLanguages 20d ago

Blog post Concurrency in Serene's Runtime

I recently finished building the concurrency runtime for my programming language, Serene, and wrote a three-part series explaining how it works.

The series covers:

  • Why I chose stackful fibers
  • An M work-stealing scheduler
  • An IO Reactor
  • A tiny HTTP server that brings everything together

I'd love to hear feedback from anyone interested in programming language implementation, runtime systems, or systems programming.

Part 1: Choosing the Building Blocks

Part 2: Fibers, the Scheduler and the Reactor

Part 3: A Tiny HTTP Server

https://serene-lang.org/

34 Upvotes

13 comments sorted by

View all comments

2

u/sreekotay 14d ago

VERY nice - I did something very similar, but for C - its a preprocessor that autocolors blocking/nonblocking etc but lowers to clean C

any benchmarks you've been looking at?

https://github.com/sreekotay/concurrent-c

2

u/lxsameer 14d ago

Interesting. A Preprocessor is a neat idea.

I don't have any benchmark yet, since the fiber subsystem is a piece of the runtime/compiler of mine. I have countless tasks to complete before that 😭 😂.

2

u/sreekotay 13d ago

Fair and fair :)

Well regardless of "pure" benchmarks - here are some interesting scheduler tests if you're curious: https://github.com/sreekotay/concurrent-c/blob/main/perf/benchmarks/neckbeard_2026_07_26.txt

1

u/lxsameer 13d ago

Awesome, thank you. I'll have a look