I am trying to interpret profiling output produced by specifying the -Xprof
flag.
For my application I get profiling output like this:
Flat profile of 8.34 secs (775 total ticks): main
Interpreted + native Method
10.4% 66 + 12 java.lang.ClassLoader.defineClass1
3.6% 27 + 0 java.nio.HeapCharBuffer.<init>
2.5% 1 + 18 java.io.UnixFileSystem.getBooleanAttributes0
...
74.4% 380 + 179 Total interpreted (including elided)
Compiled + native Method
0.3% 0 + 2 java.util.jar.JarFile$1.hasMoreElements
0.3% 0 + 2 org.reflections.vfs.ZipDir$1$1.computeNext
0.1% 0 + 1 java.lang.Object.<init>
...
1.7% 3 + 10 Total compiled
Stub + native Method
7.5% 0 + 56 java.util.zip.ZipFile.getEntry
4.7% 0 + 35 java.lang.Object.getClass
3.2% 0 + 24 java.lang.System.arraycopy
...
23.2% 0 + 174 Total stub
Thread-local ticks:
3.1% 24 Blocked (of total)
0.7% 5 Class loader
For each thread. My question is what is the difference between Interpreted
, Compiled
, and Stub
methods, what are Thread-local ticks
, and what is the meaning of the + native
column? Is there any canonical documentation for the -Xprof
profiler? Googling Xprof
has yielded little.
The most common form of output from a Java compiler is Java class files containing platform-neutral Java bytecode, but there are also compilers that output optimized native machine code for a particular hardware/operating system combination, most notably the now discontinued GNU Compiler for Java.
Java is a widely used object-oriented programming language and software platform that runs on billions of devices, including notebook computers, mobile devices, gaming consoles, medical devices and many others. The rules and syntax of Java are based on the C and C++ languages.
The InputStream is used to read data from a source and the OutputStream is used for writing data to a destination. Here is a hierarchy of classes to deal with Input and Output streams. The two important streams are FileInputStream and FileOutputStream, which would be discussed in this tutorial.
The only place where I have ever found information on tools like XProf is some (slightly older) paper-based Java books.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With