Hacker News new | ask | show | jobs
by hinkley 476 days ago
In a language that uses forking to achieve parallelism, terminating multiple tasks at the same endpoint will cause those tasks to compete. For some workflows that may be a feature, but for most it is not.

So that's Python, Ruby, Node. Elixir won't care and C# and Java... well hopefully the HTTP/2 library takes care of the multiplexing of the replies, then you're good.

2 comments

A good python web server should be single process with asyncio , or maybe have a few worker threads or processes. Definitely not fork for every request
Your response explains the other one, which I found just baffling.

I didn't say forking per request, good god. I meant running a process per core, or some ratio to the cores to achieve full server utilization. Limiting all of HTTP/2 requests per user to one core is unlikely to result in good feelings for anybody. If you let nginx fan them out to a couple cores it's going to work better.

These are not problems Java and C# have.

I don't think any serious implementation would do forking when using HTTP/2 or QUIC. Fork is a relic of the past.