Last active
August 29, 2015 14:16
-
-
Save headius/fd328074ac0e20a0a62f to your computer and use it in GitHub Desktop.
Allocation profile of YorickPeterse/oga's XML parser bench, top ten items
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
percent live alloc'ed stack class | |
rank self accum bytes objs bytes objs trace name | |
1 13.76% 13.76% 30192480 377406 66869520 835869 436418 org.jruby.runtime.builtin.IRubyObject[] | |
2 8.29% 22.05% 18183744 378828 40121760 835870 436417 org.jruby.RubyArray | |
3 4.74% 26.79% 10402048 1 10402048 1 436358 byte[] | |
4 4.74% 31.53% 10402048 1 10402048 1 434525 byte[] | |
5 3.00% 34.53% 6584024 103390 6584024 103390 436490 byte[] | |
6 2.62% 37.15% 5747712 119744 15175824 316163 436391 org.jruby.RubyArray | |
7 1.89% 39.04% 4135600 103390 4135600 103390 436491 org.jruby.RubyString | |
8 1.89% 40.93% 4135600 103390 4135600 103390 436489 org.jruby.util.ByteList | |
9 1.63% 42.55% 3573952 55843 3573952 55843 440715 org.jruby.RubyHash$RubyHashEntry[] | |
10 1.51% 44.06% 3305696 103303 3305696 103303 438508 java.util.concurrent.locks.ReentrantLock$NonfairSync | |
TRACE 436417: | |
org.jruby.RubyBasicObject.<init>(RubyBasicObject.java:234) | |
org.jruby.RubyObject.<init>(RubyObject.java:96) | |
org.jruby.RubyArray.<init>(RubyArray.java:308) | |
org.jruby.RubyArray.newArray(RubyArray.java:160) | |
org.jruby.RubyArray.newArray(RubyArray.java:175) | |
org.jruby.Ruby.newArray(Ruby.java:3275) | |
org.libll.Driver$2.call(Driver.java:195) | |
org.jruby.runtime.CallBlock19.yieldSpecific(CallBlock19.java:76) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.BlockNode.interpret(BlockNode.java:71) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:194) | |
org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:125) | |
org.jruby.runtime.Block.call(Block.java:101) | |
org.jruby.RubyProc.call(RubyProc.java:290) | |
org.jruby.RubyProc.call19(RubyProc.java:271) | |
org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen:Unknown line) | |
TRACE 436418: | |
org.jruby.RubyArray.<init>(RubyArray.java:309) | |
org.jruby.RubyArray.newArray(RubyArray.java:160) | |
org.jruby.RubyArray.newArray(RubyArray.java:175) | |
org.jruby.Ruby.newArray(Ruby.java:3275) | |
org.libll.Driver$2.call(Driver.java:195) | |
org.jruby.runtime.CallBlock19.yieldSpecific(CallBlock19.java:76) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.BlockNode.interpret(BlockNode.java:71) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:194) | |
org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:125) | |
org.jruby.runtime.Block.call(Block.java:101) | |
org.jruby.RubyProc.call(RubyProc.java:290) | |
org.jruby.RubyProc.call19(RubyProc.java:271) | |
org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen:Unknown line) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:226) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:222) | |
TRACE 436358: | |
org.jruby.util.ByteList.bytes(ByteList.java:1066) | |
org.jruby.RubyString.getBytes(RubyString.java:7680) | |
org.liboga.xml.Lexer.advance_native(Lexer.java:361) | |
org.liboga.xml.Lexer$INVOKER$i$1$0$advance_native.call(Lexer$INVOKER$i$1$0$advance_native.gen:Unknown line) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) | |
org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:157) | |
org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:135) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.IfNode.interpret(IfNode.java:116) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) | |
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) | |
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:195) | |
TRACE 434525: | |
org.jruby.util.ByteList.<init>(ByteList.java:91) | |
org.jruby.util.io.ChannelStream.readall(ChannelStream.java:421) | |
org.jruby.RubyIO.readAllCommon(RubyIO.java:3285) | |
org.jruby.RubyIO.readAll(RubyIO.java:3266) | |
org.jruby.RubyIO.read(RubyIO.java:3065) | |
org.jruby.RubyIO$INVOKER$i$read.call(RubyIO$INVOKER$i$read.gen:Unknown line) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) | |
org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) | |
org.jruby.ast.ReturnNode.interpret(ReturnNode.java:92) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) | |
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) | |
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:187) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) | |
benchmark.xml.parser.parser_bench.__file__(benchmark/xml/parser/parser_bench.rb:3) | |
benchmark.xml.parser.parser_bench.load(benchmark/xml/parser/parser_bench.rb:Unknown line) | |
org.jruby.Ruby.runScript(Ruby.java:866) | |
org.jruby.Ruby.runScript(Ruby.java:859) | |
TRACE 436490: | |
org.jruby.util.ByteList.<init>(ByteList.java:228) | |
org.liboga.xml.Lexer.callback(Lexer.java:1031) | |
org.liboga.xml.Lexer.advance_native(Lexer.java:775) | |
org.liboga.xml.Lexer$INVOKER$i$1$0$advance_native.call(Lexer$INVOKER$i$1$0$advance_native.gen:Unknown line) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) | |
org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:157) | |
org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:135) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.IfNode.interpret(IfNode.java:116) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) | |
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) | |
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:195) | |
TRACE 436391: | |
org.jruby.RubyBasicObject.<init>(RubyBasicObject.java:234) | |
org.jruby.RubyObject.<init>(RubyObject.java:96) | |
org.jruby.RubyArray.<init>(RubyArray.java:266) | |
org.jruby.RubyArray.newArrayNoCopy(RubyArray.java:222) | |
org.jruby.Ruby.newArrayNoCopy(Ruby.java:3295) | |
org.jruby.ast.ArrayNode.interpret(ArrayNode.java:86) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.BlockNode.interpret(BlockNode.java:71) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:194) | |
org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:125) | |
org.jruby.runtime.Block.call(Block.java:101) | |
org.jruby.RubyProc.call(RubyProc.java:290) | |
org.jruby.RubyProc.call19(RubyProc.java:271) | |
org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen:Unknown line) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:226) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:222) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:236) | |
TRACE 436491: | |
org.jruby.RubyBasicObject.<init>(RubyBasicObject.java:234) | |
org.jruby.RubyObject.<init>(RubyObject.java:96) | |
org.jruby.RubyString.<init>(RubyString.java:431) | |
org.jruby.RubyString.newString(RubyString.java:526) | |
org.jruby.Ruby.newString(Ruby.java:3387) | |
org.liboga.xml.Lexer.callback(Lexer.java:1033) | |
org.liboga.xml.Lexer.advance_native(Lexer.java:775) | |
org.liboga.xml.Lexer$INVOKER$i$1$0$advance_native.call(Lexer$INVOKER$i$1$0$advance_native.gen:Unknown line) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) | |
org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:157) | |
org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:135) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.IfNode.interpret(IfNode.java:116) | |
TRACE 436489: | |
org.jruby.util.ByteList.<init>(ByteList.java:222) | |
org.liboga.xml.Lexer.callback(Lexer.java:1031) | |
org.liboga.xml.Lexer.advance_native(Lexer.java:775) | |
org.liboga.xml.Lexer$INVOKER$i$1$0$advance_native.call(Lexer$INVOKER$i$1$0$advance_native.gen:Unknown line) | |
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) | |
org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) | |
org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206) | |
org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:157) | |
org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:135) | |
org.jruby.runtime.Block.yieldSpecific(Block.java:120) | |
org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.ast.IfNode.interpret(IfNode.java:116) | |
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) | |
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) | |
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:195) | |
TRACE 440715: | |
org.jruby.RubyHash.allocFirst(RubyHash.java:289) | |
org.jruby.RubyHash.<init>(RubyHash.java:257) | |
org.jruby.RubyHash.<init>(RubyHash.java:251) | |
org.jruby.RubyHash.newHash(RubyHash.java:205) | |
rubyjit.Oga::XML::Element$$initialize_dc28c12e8c5766c5f63475052bd2ca6d30e959461442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/element.rb:51) | |
rubyjit.Oga::XML::Element$$initialize_dc28c12e8c5766c5f63475052bd2ca6d30e959461442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/element.rb:Unknown line) | |
org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:42) | |
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:201) | |
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:177) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183) | |
org.jruby.RubyClass.newInstance(RubyClass.java:856) | |
org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen:Unknown line) | |
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock.call(JavaMethod.java:297) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168) | |
rubyjit.Oga::XML::Parser$$on_element_f9a07c3087274da96e0f4341e3f0ff37343a10f51442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/parser.rb:372) | |
rubyjit.Oga::XML::Parser$$on_element_f9a07c3087274da96e0f4341e3f0ff37343a10f51442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/parser.rb:Unknown line) | |
org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:50) | |
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:261) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:236) | |
rubyjit.Oga::XML::Parser$$_rule_29_c33b61259e3ec3bcaba8a5f1b4414bf5e45eae511442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/parser.rb:555) | |
TRACE 438508: | |
java.util.concurrent.locks.AbstractOwnableSynchronizer.<init>(AbstractOwnableSynchronizer.java:59) | |
java.util.concurrent.locks.AbstractQueuedSynchronizer.<init>(AbstractQueuedSynchronizer.java:299) | |
java.util.concurrent.locks.ReentrantLock$Sync.<init>(ReentrantLock.java:116) | |
java.util.concurrent.locks.ReentrantLock$NonfairSync.<init>(ReentrantLock.java:198) | |
java.util.concurrent.locks.ReentrantLock.<init>(ReentrantLock.java:257) | |
org.jruby.ext.thread.Mutex.<init>(Mutex.java:48) | |
org.jruby.ext.thread.Mutex.newInstance(Mutex.java:52) | |
org.jruby.ext.thread.Mutex$INVOKER$s$0$0$newInstance.call(Mutex$INVOKER$s$0$0$newInstance.gen:Unknown line) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202) | |
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:198) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:134) | |
rubyjit.Oga::XML::Text$$initialize_67dceb0e7ac46fb14e454ac554ee7628089668b81442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/text.rb:11) | |
rubyjit.Oga::XML::Text$$initialize_67dceb0e7ac46fb14e454ac554ee7628089668b81442407170.__file__(/Users/headius/projects/oga/lib/oga/xml/text.rb:Unknown line) | |
org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:42) | |
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:201) | |
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:177) | |
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183) | |
org.jruby.RubyClass.newInstance(RubyClass.java:856) | |
org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen:Unknown line) | |
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock.call(JavaMethod.java:297) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment