In short, because of GIL (
https://wiki.python.org/moin/GlobalInterpreterLock).
The `max_workers` flag is meant for IO intensive tasks.
If you are reading from a database or calling an API in your handler, you should observe performance increase as you increase `max_workers`.
Unfortunately, for CPU-bound tasks. The more thread workers you spawned in gRPC will result in more GIL contentions, and slow the whole process down.
Also, due to some legacy issue, the synchronization overhead between threads is quite significant.
So the priority of improving Python server performance can raise.