Optimization Counts!

You can get from point A to point B in many ways, but there’s one way that makes it very efficient and there’s one way that makes it optimized. Big difference. Efficiency, in computer science, (or more commonly known as algorithmic efficiency) is the process that describes a set of instructions with minimum amount of resources to complete a task. Optimized software, on the other hand, is used to describe how a set of instructions, in general, contributes to the entire application so it will work optimally. This does not mean that every part of the application must be efficient per-se. Consider the granularity of a software, where programers need to return to upgrade the code – how long will it take them to understand what that block of code does so they can fix or upgrade that block.

Why this is so important? when dealing with millions of transactions, we found that sometimes each part of our system needs to be modified so the overall application will work in optimal conditions (consider memory or hardware constrain). Every change we make in one part of the system has a direct effect on the overall result. Depending on our goal whether it is speed or accuracy (or something else), we ensure that each block is treated in a way that the bottom line of the software counts not the bottom line of the block.