Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> For fairness, all tests were run in a single-thread (GOMAXPROCS=1 for Go code) in async mode.

Isn't this just hobbling Go so you can beat it? Doesn't seem like something done "for fairness" at all.



Python and nodejs applications are usually deployed in a multiprocess configuration (and Go apps without GOMAXPROCS). So in production, applications in all of those languages use all CPU cores.

For benchmarks, we didn't want to complicate things with multi-process setup, the idea was to compare the raw performance of all drivers.


"usually deployed" where? Every Python app I've seen in Prod don't use multi process to bypass the limitation of GIL/#cores.


Are you kidding?

I run 80 servers with custom written daemons and it's always multi-process.

I just finished said infra at one of the worlds largest online betting sites, their legacy was multi-process and the new systems are multi-process.

This is really common


They don't use the multiprocess module but most of them are deployed with something like uWSGI or Gunicorn, which spawns the worker processes and forwards requests to them and the responses back.


supervisord


GIL only applies to multi-threaded, not multi-process. Multi-process is a great way to overcome the GIL


At a cost of memory.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: