How about the processing speed ? |
SpotRemover was programmed with the performance in mind. Some of the optimizations include: Use of MMX and integer SSE extensions. Minimal use of conditional jumps to avoid branch mispredictions. The core routine (smoothing, locking, spot detection, filtering, marking, and color adjustments) uses only about a dozen of jumps! Compact allocation of data to minimize cache misses. Instruction reordering and resizing to optimize the instruction fetching and decoding. |