This post about I/O bound "ruby" apps applies equally well to Python, PHP, JS, or any other high-level backend language. We use tools with poor CPU performance and then self-soothe with fairy tales like "most apps are I/O bound" or "only a few critical loops are hot, just measure those" and there is *some* truth to those tropes, but it's important not to let them become thought-terminating clichés about performance. Anyway, it's important reading: https://byroot.github.io/ruby/performance/2025/01/23/the-mythical-io-bound-rails-app.html
I should probably also highlight this now-classic post that addresses this at the higher level of how to think about performance generally rather than the deconstruction of one specific trope: https://blog.nelhage.com/post/reflections-on-performance/