<div dir="ltr">Thanks Petr.<div><br></div><div>I have googled a lot and dont really find any great c++ profiling tools ( free), do you recommend any?</div><div><br></div><div>ltrace suggests most of our application is spent on "memcmp", but by looking at our code, we don't see that as a possibility.</div><div><br></div><div>Thanks,</div><div>Yogi</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 27, 2015 at 2:03 AM, Petr Machata <span dir="ltr"><<a href="mailto:pmachata@redhat.com" target="_blank">pmachata@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">yogender nerella <<a href="mailto:ynerella@gmail.com">ynerella@gmail.com</a>> writes:<br>
<br>
> I am profiling a large application involving oracle database libraries.<br>
><br>
> Without any tracing my program completes in 2 to 3 minutes, but with ltrace<br>
> it is taking over 2 to 3 hours.<br>
<br>
</span>ltrace is not a great tool for profiling.  Every event implies a context<br>
switch (that's the design of the underlying kernel ptrace interface that<br>
ltrace is using).  That's where the overhead comes from.<br>
<span class=""><br>
> All our code is in the binary, and oracle libraries are dynamically linked.<br>
><br>
> What are the command line options, to just profile my application?<br>
> What are the command line options to just profile oracle libraries?<br>
<br>
</span>Check out -e.  That's used for selecting which library calls from which<br>
libraries you want displayed.<br>
<br>
Thanks,<br>
Petr<br>
</blockquote></div><br></div>