What is the meaning of %total and total

Help
2009-05-05
2013-04-17
  • Antonio Muñiz
    Antonio Muñiz
    2009-05-05

    Hello.

    I see in jipViewer: %total and total.
    What is the meaning of each one? Is it a time measure?

    And, sum of all %total values should be 100, but it isn't...
    Can someone explain me this?

    Thanks.

     
    • Antonio Muñiz
      Antonio Muñiz
      2009-05-05

      Ok. I didn't see this https://sourceforge.net/forum/forum.php?thread_id=1714339&forum_id=497146

      I have another question, what is the meaning of net and %net? This is the time in totals, non per-thread?

      Thanks!

       
    • Andrew Wilcox
      Andrew Wilcox
      2009-05-06

      The net time is the total execution time for a method excluding the time of all the methods that the method called. For example, you call foo.a(), which takes 100 ms. foo.a() calls bar.z() which takes 80 ms. The net time for foo.a() would be 20 ms.

      The percent net time compares the net execution time of a method to the sum of all net times. For example, if the sum of the net execution times is 400 ms and foo.a() took 20 ms, foo.a()'s %net would be 5.

      The nature of execution time is tricky in multi-threaded programs. In simple terms, if you have a program with two threads that do the same amount of work, and the program takes 20 seconds to run, each thread has an execution time of 20 seconds, but that makes the total execution time 40 seconds -- which is a somewhat counter intuitive. JIP measures all times in the context of a thread rather than in terms of "wall-clock" time.

      Andrew.

       
    • I have a related question.
      I downloaded jip-1.1.1 and applied it to my program.

      Under the "Most expensive methods summarized" heading,
      the first method's Pct is 147.1.  This means 147.1%, correct?
      How can the net time exceeds 100%?

      This program uses JNI to call out C++. Would this be a problem
      perhaps?

       
    • Andrew Wilcox
      Andrew Wilcox
      2009-05-26

      Lots of people ask this question because it's seems counter intuitive for something to be larger than 100%. In my previous post, I mentioned that JIP tracks times in the context of a thread. Take for example some method foo.a(), which gets called from two threads:

      Thread 1: foo.a() --> Net Percent: 73
      Thread 2: foo.a() --> Net Percent: 74

      When summarized, you get:

      foo.a() [73% + 74%]  --> Net Percent: 147

      The "Most expensive methods summarized" section is best used to find inexpensive methods that get called often enough to impact performance.

      Andrew.