Engineering (Case #2) - Assembly Code
The Challenge
A Central Kentucky business needed to analyze a large data set. They felt there was value hidden in the data. However, whenever new analysis criteria was used, it took over 3 days for the process to complete.
 
Our Solution
Lakeshore Software felt that the tight “inner loop” of the analysis software could be optimized. We wrote low-level assembly code to utilize the MMX registers and the SSE instructions that are a part of Intel processors. The initial benefits from the MMX multiply-and-accumulates were an 8 times improvement. By “pipelining” the instructions the overall improvement was more than 16 times, reducing the 3 day process to less than 5 hours.