Thanks for the clarification, totally missed that. Makes much more sense.
I’m with you on the concurrency model. What was the reasoning for a runtime per core?
Task migrations are (relatively) expensive, and runtime-per-core lets you write request handlers that aren't Send+Sync. It's the kind of thing that looks good in benchmarks.
I wouldn't want to rely on it, because you can't rebalance uneven loads between cores, and a single blocking task would block all requests assigned to that core.
I wouldn't want to rely on it, because you can't rebalance uneven loads between cores, and a single blocking task would block all requests assigned to that core.