Current Page: NeXtMidas Training NetBeans - Part 3 (Profiler) Performance Analysis Step 3
- - | Performance Analysis: If you expand one of the threads used by a NeXtMidas (Java) primitive you will notice that it starts out with:
        <COMMAND>
          +-- MidasThread.run()
                +-- Command.run()
                      +-- Command.runSingle()
                            +-- <command>.open()
                            +-- <command>.process()
                            +-- <command>.close()
                            +-- Command.processMessages(int)
This is where the `open()`, `process()`, and `close()` methods are called for your primitive. The `Command.processMessages(int)` (shown here) will call your `processMessage()` method if any messages are received. You will note that to the right of each entry are some important statistics. The most important one is the little red bar graph indicating what percentage of the time was used up by that method (plus the methods it calls). The smaller the bar, the less benefit there is to improving performance of that method. When you look at that bar, a light bulb should illuminate over your head saying "Remember Amdahl's Law!" The next statistic is the total "Time" spent in that method. Be careful to note that this is a cumulative statistic. The second most important statistic is the third column, "Invocations". This is the number of times that method was called. Many times the number of invocations explains why the total time is so high for some methods. Even trivial methods can take an appreciable amount of time when they are called tens of millions of times.