as you can notice that I care about performance and the "unstated requirement", today I am gonna just point a finger to some performance tools that is really fine for people to use to enhance their software and get better results, I will show two important tools for this issue "Performance analysis", First as I like Intel it will be the Intel tool "VTune", this tool is amazing I read a lot about it and I really like this tool , this tool give you information about your application run time that you will never get my logging or debugging or anything, it has set of tools inside the VTune , let's see what is inside the bag of VTune, Vtune has many tools that for sure will be very useful
- Time based sampling
- Call graph
- Event based sampling
- Counter monitor
every on of this is more than just a word, it is really a very huge tool that can relive you from tans of wasted time, this tool is very well designed to help smart people to finish their work in very highly performance manar, this tools must be used in something like smooth dance way, you can't just use one tool for the job, every tool of this tools provide you with some information, after that you must be smart enough to collect this information together to see what you have got, it's like puzzle, only smart people will know how to use and utilize such tool, as I like this tool very much I think it's so clear for anyone to use such tool, it's only a matter when to use what.
this is for sweet Intel tool, lets go for the next one "AMD" the AMD tool called "Code Analyst" I didn't dig a lot on this tool but I think it has more option and accessibility for other things but I think it will be low level and more complex for developer to use such tool, anyways this is what I have saw in a very quick view for the application
- investigate L2 cache access
- investigate branching
- investigate data access
- investigate instruction access
- pipe line simulation
- thread profile
- time-based profile
what I really like is the thread profile, it really will help a lot for Multi threading application , you know it is very complex to trace application that has many threads, so such thing I think it may help, by the way I heard that Intel has thread profile too but I didn't see it before, also Microsoft will add the thread profile in VS.NET 2008 as I think, which will be amazing , anyways this topic need a lot of exercise to reach to a reasonable bench mark, right now I am so busy , but when I get some free time I will try to do something about it,
by the way , Intel tools will not run on AMD processors and AMD tools will not run on Intel processors,
also this tools is to enhance a performance as general system , sometimes when the tool takes you to lower level it will be tied to the processor, so u have to be careful about that
one thing else that I forgot, AMD has some libraries to enhance math on their Processors, also Intel has their libraries that is work very well on Intel processor, u have to take care that such library depend on something on the Processor structure which means that the application may not work on other platforms
I hope that this topic informative and useful
thanks for your time :)
No comments:
Post a Comment