I am currently doing some I/O intensive load-testing using python. All my program does is to send HTTP requests as fast as possible to my target server.
To manage this, I use up to 20 threads as I'm essentially bound to I/O and remote server limitations.
According to 'top', CPython uses a peak of 130% CPU on my dual core computer.
How is that possible ? I thought the GIL prevented this ? Or is it the way Linux 'counts' the resources consumed by each applications ?
That is possible in situations when used C-extension library call releases GIL and does some further processing in the background.
Python interpreters uses up to 130% of my CPU. How is that possible?