Here's the basic Java 1.4 profiling output, for what it's worth. This is for a rubicon run.

Flat profile of 76.27 secs (6986 total ticks): main

  Interpreted + native   Method
 38.6%     0  +  2405    java.io.FileInputStream.readBytes
  9.9%     0  +   616    java.io.WinNTFileSystem.delete
  1.9%     0  +   120    java.io.FileOutputStream.writeBytes
  1.6%     0  +    99    java.io.RandomAccessFile.close0
  1.3%     0  +    84    java.io.FileInputStream.open
  1.1%     0  +    70    java.lang.Win32Process.create
  0.9%    42  +    16    org.jruby.parser.DefaultRubyParser.yyparse
  0.4%     0  +    23    org.jruby.RubyThread.run
  0.3%     0  +    18    java.io.WinNTFileSystem.createDirectory
  0.2%     0  +    14    sun.reflect.GeneratedMethodAccessor208.<init>
  0.2%     0  +    13    java.io.RandomAccessFile.open
  0.2%     0  +    11    java.lang.Thread.yield
  0.2%     0  +    11    java.lang.Win32Process.waitFor
  0.2%     0  +    10    java.lang.Throwable.fillInStackTrace
  0.1%     0  +     8    sun.misc.Unsafe.defineClass
  0.1%     0  +     8    java.io.WinNTFileSystem.getLength
  0.1%     0  +     8    org.jruby.parser.DefaultRubyParser .<clinit>
  0.1%     0  +     7    java.lang.ClassLoader.defineClass0
  0.1%     0  +     6    java.io.WinNTFileSystem.list
  0.1%     0  +     5    java.io.WinNTFileSystem.getBooleanAttributes
  0.1%     0  +     5    java.lang.ClassLoader.findBootstrapClass
  0.1%     1  +     3    java.lang.Class.forName0
  0.1%     0  +     4    org.jruby.Ruby.initCoreClasses
  0.0%     0  +     3    java.lang.Class.getDeclaredConstructors0
  0.0%     0  +     3    java.util.zip.Inflater.inflateBytes
 61.5%   162  +  3672    Total interpreted (including elided)

     Compiled + native   Method
  2.1%   128  +     0    vtable chunks
  1.5%    93  +     0    java.util.ArrayList.RangeCheck
  1.3%    70  +    10    org.jruby.evaluator.EvaluationState.begin
  1.1%    67  +     0    java.util.ArrayList.add
  0.9%    57  +     0    java.util.ArrayList.remove
  0.9%    38  +    17    java.util.ArrayList.<init>
  0.8%    52  +     0    org.jruby.internal.runtime.ThreadService.getCurrentContext
  0.8%    51  +     0    java.lang.ThreadLocal$ThreadLocalMap.get
  0.8%    48  +     0    java.util.HashMap.get
  0.7%    41  +     0    org.jruby.evaluator.EvaluationState.executeNext
  0.6%    35  +     2    org.jruby.runtime.ThreadContext.preReflectedMethodInternalCall
  0.6%    35  +     0    java.util.ArrayList.ensureCapacity
  0.5%    33  +     0    java.lang.String.equals
  0.4%    21  +     6    org.jruby.evaluator.EvaluationState.<init>
  0.4%     6  +    19    org.jruby.parser.DefaultRubyParser.yyparse
  0.4%    21  +     2    org.jruby.evaluator.EvaluateVisitor$NewlineNodeVisitor.execute
  0.4%    19  +     3    java.lang.StringBuffer.expandCapacity
  0.3%    21  +     0    org.jruby.RubyModule.findImplementer
  0.3%    21  +     0    org.jruby.Ruby.getCurrentContext
  0.3%    11  +     9    java.util.ArrayList.add
  0.3%    19  +     0    java.util.HashMap.put
  0.3%     3  +    15    java.lang.String.getChars
  0.3%    13  +     3    org.jruby.evaluator.EvaluateVisitor.setupArgs
  0.2%    14  +     0    org.jruby.RubyThread.pollReceivedExceptions
  0.2%    11  +     2    org.jruby.runtime.ThreadContext.preDefMethodInternalCall
 25.0%  1426  +   130    Total compiled (including elided)

         Stub + native   Method
  4.4%     0  +   272    java.io.FileOutputStream.writeBytes
  1.7%     1  +   104    java.util.zip.ZipFile.getEntry
  1.3%     0  +    80    java.io.WinNTFileSystem.getBooleanAttributes
  1.1%     0  +    67    java.lang.Throwable.fillInStackTrace
  0.5%     5  +    27    java.lang.System.arraycopy
  0.4%     4  +    22    java.lang.Object.hashCode
  0.2%     1  +    14    sun.reflect.Reflection.getClassAccessFlags
  0.2%     0  +    14    java.security.AccessController.doPrivileged
  0.1%     0  +     8    java.io.RandomAccessFile.read
  0.1%     0  +     6    sun.reflect.NativeMethodAccessorImpl.invoke0
  0.1%     1  +     4    java.io.RandomAccessFile.writeBytes
  0.0%     0  +     3    java.security.AccessController.doPrivileged
  0.0%     0  +     2    java.lang.StrictMath.pow
  0.0%     0  +     2    java.lang.ClassLoader.findLoadedClass0
  0.0%     0  +     2    java.lang.StrictMath.tan
  0.0%     0  +     1    java.util.zip.ZipFile.read
  0.0%     0  +     1    java.util.zip.Inflater.inflateBytes
  0.0%     0  +     1    java.lang.Class.isInstance
  0.0%     0  +     1    sun.reflect.Reflection.getCallerClass
  0.0%     0  +     1    java.lang.Class.getClassLoader0
 10.3%    12  +   632    Total stub

  Runtime stub + native  Method
  0.6%    39  +     0    interpreter_entries Runtime1 stub
  0.1%     4  +     0    handle_exception Runtime1 stub
  0.0%     2  +     0    unwind_exception Runtime1 stub
  0.0%     1  +     0    ldiv_stub Runtime1 stub
  0.0%     1  +     0    alignment_frame_return Runtime1 stub
  0.8%    47  +     0    Total runtime stubs

  Thread-local ticks:
 10.8%   752             Blocked (of total)
  0.1%     7             Class loader
  0.7%    41             Interpreter
  1.7%   105             Compilation


Global summary of 76.27 seconds:
100.0%  7584             Received ticks
  4.7%   355             Received GC ticks
  2.1%   158             Compilation
  3.2%   240             Other VM operations
  0.1%     7             Class loader
  0.6%    44             Interpreter
  0.0%     1             Unknown code

On 3/29/06, Thomas E Enebo < [EMAIL PROTECTED]> wrote:
  This seems to be the right time to mutate the thread into a favorite
java profiler thread....Anyone have any recommendations?  I think last
time David mentioned JRat.

-Tom


--
Charles Oliver Nutter @ headius.blogspot.com
JRuby Developer @ jruby.sourceforge.net
Application Architect @ www.ventera.com

Reply via email to