I'm trying to understand the output of Python profiler while running Python asyncio based program:
I can see that my program is spending ~67% of time trying to acquire a thread lock.
Is this normal in asyncio programs? My application is single-threaded, I am not deferring any work to worker threads and logging minimally to console.
My app spends ~21% in select call. Does this roughly mean that 20% of run-time is spent idle (waiting for an event or callback to happen)?
