- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have inherited a project that has speed and size constraints. It currently has I think too many methods inlined, and to make code smaller, I want to only inline functions that actually increase performance. How can I use Vtune to determine this?
Thanks,
Brian
Thanks,
Brian
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you are using a Pentium 4 you should see how efficiently you are using the trace cache. If you have excessive inlining the code will be too big to fit in the trace cache and you will have a lot of misses. I suggest that you use measure the following ratios: TC Delivery Rate and Trace Cache (TC) Miss Performance Impact. This will tell you if you have excess trace cache misses.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is for a Pentium 3.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
In my mind call graph can help you a lot with this task.
You'll get the # of times the function was called and the numer of functions that called it.
my advice is "more time the function was called from less places(# of callers)" - a good candidate to be inlined.
Some more VTune useful features:
-you can define your own ratios, like "#of calls / # of callers" and you can sort all functions by this new ratio column in call graph view.
-there is possibility to see "call list" by "call sites" e.g. func A calls func B from 5 different code lines inside the func A. you can see this also in VTune.
-Daniel
In my mind call graph can help you a lot with this task.
You'll get the # of times the function was called and the numer of functions that called it.
my advice is "more time the function was called from less places(# of callers)" - a good candidate to be inlined.
Some more VTune useful features:
-you can define your own ratios, like "#of calls / # of callers" and you can sort all functions by this new ratio column in call graph view.
-there is possibility to see "call list" by "call sites" e.g. func A calls func B from 5 different code lines inside the func A. you can see this also in VTune.
-Daniel
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page