The answer is "almost". There are two types of bugs: Reliability and Usability.
There are so many examples of applications using pre-processing strategy that it is trivial. For example using a webcam we often find the device driver doing some software adjustments and corrections such as white balancing. Too often we find devices using software features. Other examples would be in a pipeline and User Interfaces. When it comes to UI we already learned to fill the list when the user clicks the drop-down, so only when the user really wants to use the list we will "pay" for the data.
Intel® VTune™ Amplifier XE 2013
Intel® VTune™ Amplifier XE is an easy to use performance and thread profiler for C, C++, C#, Fortran, Java and MPI developers. No special recompiles are needed, just start profiling. Hotspots are highlighted on the source. A powerful timeline makes it easy to tune your application and scale performance on multicore processors.
In this blog, I will discuss a list of useful Linux commands to run, to tune your system for running the Apache web service, as well as some Apache tuning configuration changes which have shown to improve performance in some of our benchmarks. In our tests, we used a software benchmark (SPECweb2009) to simulate load, however the analysis and tuning process described here applies to anyone who is trying to get more performance out of their Linux web servers.
One of the great features in Intel® VTune™ Amplifier is the use of the event monitoring registers built into Intel processors. These can give us important insights into what is really happening on a system. The event monitoring allows the profiling of code in terms of what causes caches misses, unaligned memory accesses, denormalized numeric computations and hundred of other types of processor and memory activity.