Community
cancel
Showing results for 
Search instead for 
Did you mean: 
nicolas_wang
Beginner
37 Views

profile for system time

Hi,
I've been using Vtune for lots of profiling work. But never thought of use it to profile the system time. I'm wondering is it possible to do that? For example, I have a program running for 10 seconds and among which total 2 seconds are system calls. I want to know how the 2 seconds are used. And, if I fetch this program to Vtune, the runtime could be very different depends on my collector setting. Let's say now it's 20 seconds. But I can not find the exact system time then.
Anybody has experience on this? To profile the system time.
Regards,
Nicol
0 Kudos
2 Replies
TimP
Black Belt
37 Views

VTune EBS would capture the system time of your program, and any other processes present, in the modules responsible. Those modules probably don't have adequate debug symbols to show you precisely what's happening, or distinguish what they may be doing on behalf of your program from other usage. For certain Windows system .dlls, helpful .pdb or equivalent may be available.
When a significant amount of time is spent in system libraries, it is helpful to make a static link for profiling purposes, as that should capture those particular functions as part of your program, usually with identification of the function responsible. This can help distinguish true system time from those system run time libraries.
Perhaps, for completeness, I should mention the openmp and MPI profiling libraries provided with Intel software tools. Even the dynamic versions of those libraries capture the time associated with those function calls. If you are using one of those facilities, these profiling libraries are an important step in analyzing time spend outside your own compiled code.
nicolas_wang
Beginner
37 Views

Quoting - tim18
VTune EBS would capture the system time of your program, and any other processes present, in the modules responsible. Those modules probably don't have adequate debug symbols to show you precisely what's happening, or distinguish what they may be doing on behalf of your program from other usage. For certain Windows system .dlls, helpful .pdb or equivalent may be available.
When a significant amount of time is spent in system libraries, it is helpful to make a static link for profiling purposes, as that should capture those particular functions as part of your program, usually with identification of the function responsible. This can help distinguish true system time from those system run time libraries.
Perhaps, for completeness, I should mention the openmp and MPI profiling libraries provided with Intel software tools. Even the dynamic versions of those libraries capture the time associated with those function calls. If you are using one of those facilities, these profiling libraries are an important step in analyzing time spend outside your own compiled code.
Thanks Tim. I thought about your methods but it turns out that my requirement doesn't fit in. Two issues I'm worrying, 1st is that the cpu time spent with Vtune is much higher than without Vtune which makes profiling not so direct. 2nd is that I can not compile any system lib since I can not find those libs too.
I see some other profiling tools do report meaningful results for my same case(some stall time report). I'm trying to find equivalent function in Vtune.