Re:Threads, Threads, and More Threads
by asdfasgasdgasdg on Tuesday March 22, 2022 @10:01PM
(#30774005)
In the modern era, threads are more of a memory problem than a compute problem. If you spawn a thread per request (or several) it can be an issue by maintaining too much stack space. But I don't know of any reliable benchmark showing that threads or events outperform in real systems, except in cases of extremely high numbers of simultaneous contexts (i.e. very high number of ongoing requests/very low cost per request of operation).
[ Parent
| on HN ]
Re:Threads, Threads, and More Threads
by staticassertion on Tuesday March 22, 2022 @11:02PM
(#30774384)
You could just spawn threads with smaller stacks. Also afaik that memory won't ever get paged in if it isn't used? So I don't know if it matters much.
Also, idle threads aren't a problem, even on a system under load. Especially on a desktop.
Also also, there's no global threadpool, which means if you have K programs on N codes and K > N it's a moot point trying to save threads. Any desktop has K > N. So reducing thread usage in all of your processes is unlikely to help.
Re:Threads, Threads, and More Threads
by IgorPartola on Tuesday March 22, 2022 @11:39PM
(#30774661)
You said what I would have. Stack size of 100k is plenty for lightweight threads. 100MB for 1000 threads isn’t much for a modern system.
Re:Threads, Threads, and More Threads
by asdfasgasdgasdg on Wednesday March 23, 2022 @06:10PM
(#30784157)
More to the point, only allocated pages matter from the perspective of resident memory. As long as the thread stacks are not actually too deep, it doesn't really matter very much the nominal depth.