Right tradeoff + wrong math = wrong tradeoff

The tradeoff between using a high-level languages and programming closer to the metal may seem, at first glance, to be a tradeoff between development costs and operating costs. With this argument, high level languages make development cheaper, but produce slower code which requires more processing power.

There are two big problems with this analysis. First, people often guess the math wrong by orders of magnitude. (Very few applications require a box for every ten users, regardless of development language.)

The second problem is that domain specific optimizations have a much larger impact on performance than language choice. Of course, in order to make domain specific optimizations, you need to have a clean code base. Continuous integration and performance metrics would help, too. All of these things are facilitated by programming in a higher level language.

In the book, we talk about scaling Rails applications from a baseline of hundreds of requests per second per box. That is plenty for a wide variety of applications, but not all. Do you know what performance your application really needs, and test for it?

Get In Touch