Re:Stack size invisibility in C and the effects on "portabil...
by jart on Tuesday September 28, 2021 @06:18PM
(#28688162)
Being able to build web servers with 10,000 threads w/ clean imperative code rather than event-driven yo-yo pattern finite state machines. It's what Google does. They limit stack size to 60kb for just that reason.
[ Parent
| on HN ]
Re:Stack size invisibility in C and the effects on "portabil...
by floatboth on Tuesday September 28, 2021 @08:55PM
(#28689190)
Kernel threads have tons of switching overhead so state machines are still better. Get your compiler to compile clean imperative code into them :)
(okay, by "clean" I do mean littered with `.await`, but it's still structurally clean)
Re:Stack size invisibility in C and the effects on "portabil...
by wahern on Tuesday September 28, 2021 @10:47PM
(#28689736)
You don't need kernel scheduling for stackful threading. So-called green threading was common long before event-oriented asynchronous programming became popular with the advent of kqueue and epoll. See, e.g., https://www.gnu.org/software/pth/
That said, you can make kernel-aware user-controlled context switching much faster than it is currently: https://www.theregister.com/2020/08/10/google_scheduling_cod...