Why Your Secure Code is Slower Than It Should Be
Part 2/3
Security theater has a price, and in computing, that price is measured in nanoseconds that add up to millions of dollars in wasted electricity, slower response times, and frustrated users. In Part 1, I explained how position-independent code was a solution in search of a problem, showing you the actual assembly instructions and GOT/PLT mechanisms that create the overhead. Now I’m going to show you the real measurements from production systems where this “negligible” overhead is destroying performance.
Remember when I said the overhead was distributed and hard to spot? Let me show you exactly what I mean with actual data from systems where performance isn’t academic but economic.
The Trading Floor Reality
I spent three months at a trading firm measuring the actual impact of PIE on our execution paths. This wasn’t academic curiosity—when you’re competing on nanoseconds, every instruction counts. Our setup was straightforward: a market data handler feeding into a strategy engine that generated orders for an execution gateway. The entire critical path needed to be under 1.35 microseconds to be competitive.
Here’s the actual benchmark code that mirrors our hot path:


