I am a beginner in optimization/vtune stuff. I do not know where should I post this question but I think this forum should be appropriate.
I have been developing programs using best algorithms. But sometimes my program is not good comparing to others using the same algorithm. I have been reading about optimization in the Internet, ranging from low-level optimization (assembly), design optimization and data/memory optimization. However, I found little success in applying those optmization tricks (I rarely find big perfomance boost as claimed).
I have also found that many people to use Intel VTune to optimize their programs. So my questions are:
1. How to optimize our program? Is there any guidelines to follow?
2. How do VTune help to optimize our program? Any simple tutorial / guideline / knowledge base on using vtune? I am not familiar with intel's website.. so any pointer to related materials will be very helpful..
3. How do commercial software optimize their program? Because some articles describe how to optimize only on certain hardware/platforms.. whereas commercial hardware must be able to catter to different hardware/platforms/ systems?
VTune comes with tutorials to get you started. You might find some interesting titles on the Intel Press web site. A lot of it comes with getting your feet wet, just dive in and find out what you can learn with profiling tools etc.
As to making optimizations which work across platforms, there are fantastic expert resources on line at places like comp.lang.fortran, gcc-help@ gcc.gnu.org.