Skip to content
Better HN
Top
New
Best
Ask
Show
Jobs
Search
⌘K
undefined | Better HN
0 points
vips7L
3y ago
0 comments
Share
What happens if you need to do computational work on a go routine? Isn’t that going to block the carrier thread and then murder throughput?
0 comments
default
newest
oldest
IshKebab
3y ago
Yes, you have to manually insert yield points. Exactly the same as with every cooperative threading system, including Lunatic and Rust's native async/await.
Kind of feels like we need user space preemptive threading somehow.
smasher164
3y ago
Go has asynchronous preemption now using signals. Tight loops are preemptible.
vips7L
OP
3y ago
Or just the ability to use native os thread pools for that type of work.
j
/
k
navigate · click thread line to collapse