Editorials

The Cost of Performance

In information systems, pragmatism drives reality more than optimized software, or even sometimes appropriate software implementations. I was watching a head to head comparison of three sports cars, each able to operate over 200mph, or for the metric genius speeds over 322kph. The price on these vehicles started around 1Million USD. They were really cool, really fast, and really unique. Even though they were all street legal, there is no way I anticipate purchasing one. I simply don’t need it.

Information Systems are much the same. Very few systems need to perform with the ultimate optimization. We have simply gotten used to throwing hardware at optimization problems, sometimes when it isn’t even necessary. Compared to other costs of doing business, the cost of hardware is relatively low, and the power continues to leapfrog every year, while the cost continues to remain the same, or even get lower. Today I can purchase a laptop computer for half the cost that I paid for my x386 system 20 years ago. The first hard disk I purchased cost $3,000 USD. It was 10meg, and came with 1meg Ram. You get my point. Today I can purchase a 2tb disk drive for around $100 USD, and 8gig ram for well under $100 USD.

When I started writing software, device drivers were written in Assembler to get the most optimization out of the code. As compilers improved we began thinking of writing code in C as low level work. Today we are writing software that is interpreted at run time using languages such as JavaScript, Java, Dot Net, or even RPG. Yes, there are different levels of compilation for any of those languages. But with the power of hardware today, and the ability to scale out, we’re finding the cost of optimization to not be pragmatic anymore. The ability to have transportable PCode that can run on different operating systems is more important than software optimized for a specific CPU and operating system.

Recently I was talking about how IOT impacts our need to continue to learn new things. Someone commented that there will be a time when computers will be writing software. I don’t think we’ll get there in my lifetime. But the possibility exists. And we have motivation to make this into a reality. More and more you are seeing applications being built by plugging together separate frameworks or libraries, that when used as a system, produce useful applications that have reasonable performance. If they are adequate to meet the business requirement, then is it worth the cost to create a customized solution?

Let me come back a lot closer to reality. How about tools generating ORM layers for applications. They aren’t perfect yet. However, the number of concessions required to use them diminish with every release. They are good enough now that I have to always ask the question if an ORM generator will suffice for an application. Depending on the workload I may use an ORM alone, or have a hybrid ORM where I optimize portions of the work that may be unique. Even if a generated ORM only covers 50% of my application needs, that generated code can grant me time to focus on features of greater importance.

One thing I can predict is that the tools we use in the future are going to be very different from the ones we use today. Computers will be able to generate sophisticated software with more and more automation. We need to continue to develop skills which a computer cannot replace as this trend continues to develop. Our reality is no longer that “Change is coming”. Change has come and continues to come even faster. I don’t think it will be a good as we can do today. I do think that it won’t matter.

So, I can purchase a car that can go much faster than the legal speed limit for my daily needs for 3% the cost of the ultimate optimized machine. If the 3% vehicle exceeds my needs, that’s what I’m going ot purchase. With software, that comparison is harder to make. The cost of ownership is much more than the initial development etc. That’s the edge we have today. Software developed automatically today cannot reduce the cost enough to be competitive. Is it possible that the gap is closing?

Cheers,

Ben