There’s something to be said about the performance of the code. One of the computational challenges today is the CPU cost. One would say that the performance of computers has grown so much that we don’t need to measure and care for how fast our computers are. That might be true in case of our laptops and desktops but in the server space it still matters a lot because in the reality of multi-user web applications and cloud per-cycle billing performance has never has been more important than today.
That’s why compiling your server code to a native CPU matters a lot. But it goes further than just compiling it. There’s a plenty of room for tweaking your code to the specific platform you target. Microsoft is doing great job partnering with Intel to target Intel specific platforms like x86, x64 and Itanium, generating a fine-tuned code that constitutes so called “WinTel” stacks (that is Intel hardware, Microsoft software).
Much of that behind the scenes optimisations are subject to a wider debate about use of undocumented and undisclosed features that might be closed off for competitors and therefore subject to scrutiny of anti-trust authorities, however this is a subject for a completely different article. The fact remains that targeting your platform with a native code shows the performance that cannot be substituted or matched by code that is simply interpreted and or just cached.
So why does it matter to you at all? The answer is cost. Since more and more websites move to the pay per cycle model in the cloud, you’d like your app to burn as few cycles as possible with each visitor hitting your website. Imagine that you can save 20% on a typical PHP application just by zapping some of the code into memory (using APC, for instance). Now let’s assume you can reduce burn time by further 50% of that by compiling your application to the native code and further 10% of that by optimising for your platform.
Pretty soon you see the cost base being shrunk to 1/10 of the original cost, meaning hundreds, not thousands for your hosting.