A CPU-bound task keeps a core busy the whole time. On a single-threaded event loop it blocks every other request; more cores or threads are the usual remedy.