Access-nsieve¶
Ruby 1.9 profile (head):
time ruby19 -rprofile bin/ambervm -lecma -o benchmarks/ecma/access-nsieve.js 303 550 1007 null % cumulative self self total time seconds seconds calls ms/call ms/call name 9.44 40.26 40.26 756491 0.05 0.16 Array#map 8.40 76.08 35.82 347732 0.10 0.82 AmberVM::Functions::Function#call 6.80 105.06 28.98 347732 0.08 1.18 AmberVM::Interpreter::SimpleCoreCall#execute 4.60 124.69 19.63 316960 0.06 1.91 AmberVM::Interpreter::Assignment#execute 4.05 141.96 17.27 694494 0.02 0.08 AmberVM::Interpreter::VariableValue#execute 3.83 158.31 16.35 227884 0.07 0.13 AmberVM::PluginHost.[] 3.74 174.27 15.96 1979084 0.01 0.01 Kernel.is_a? 3.25 188.11 13.84 383214 0.04 0.11 AmberVM::Interpreter::Environment#[] 2.84 200.23 12.12 261743 0.05 2.68 Array#each 2.73 211.85 11.62 956139 0.01 0.01 Hash#[] 2.33 221.78 9.93 376408 0.03 0.09 Class#new 2.27 231.44 9.66 123799 0.08 0.21 AmberVM::Classes::Number#method_missing 2.02 240.06 8.62 102634 0.08 0.22 AmberVM::Interpreter::Parameter#execute 2.02 248.67 8.61 814867 0.01 0.01 AmberVM::Interpreter::StaticVariable#execute 1.98 257.11 8.44 347732 0.02 0.03 Kernel.dup 1.97 265.52 8.41 104492 0.08 0.31 AmberVM::Interpreter::SimpleVariable#execute 1.94 273.79 8.27 316979 0.03 0.03 AmberVM::Interpreter::VariableStorage#val= 1.70 281.05 7.26 65932 0.11 0.33 AmberVM::Functions::Eq#execute 1.59 287.83 6.78 60970 0.11 0.52 AmberVM::Functions::Lte#execute 1.49 294.18 6.35 59100 0.11 0.28 AmberVM::Functions::At#execute 1.45 300.38 6.20 65932 0.09 0.33 AmberVM::Functions::Type#execute 1.42 306.43 6.05 95794 0.06 6.15 AmberVM::Interpreter::Sequence#execute 1.31 312.02 5.59 34840 0.16 0.27 AmberVM::Interpreter::Environment#initialize 1.29 317.51 5.49 227945 0.02 0.03 AmberVM::PluginHost.validate_id 1.29 322.99 5.48 123850 0.04 0.06 Array#map! 1.25 328.34 5.35 102634 0.05 0.07 AmberVM::Interpreter::Environment#param 1.25 333.66 5.32 159873 0.03 0.04 AmberVM::Classes::Boolean#initialize 1.22 338.86 5.20 665790 0.01 0.01 BasicObject#! 1.16 343.80 4.94 660150 0.01 0.01 Array#[] 0.92 347.72 3.92 59100 0.07 0.11 AmberVM::Classes::List#[] 0.92 351.63 3.91 161734 0.02 0.03 AmberVM::Classes::Number#to_i 0.90 355.47 3.84 425068 0.01 0.01 Kernel.respond_to? 0.74 358.61 3.14 314766 0.01 0.01 AmberVM::Functions::Function#execargs 0.72 361.67 3.06 34855 0.09 0.20 AmberVM::Interpreter::ObjectVariable#execute 0.67 364.53 2.86 288626 0.01 0.01 AmberVM::Functions::Function#signature 0.63 367.20 2.67 347752 0.01 0.01 Array#empty? 0.62 369.83 2.63 62823 0.04 0.33 AmberVM::Functions::Add#execute 0.62 372.46 2.63 243604 0.01 0.01 AmberVM::Interpreter::Constant#execute 0.61 375.06 2.60 34833 0.07 5.38 AmberVM::Classes::Block#call 0.61 377.64 2.58 347732 0.01 0.01 Array#initialize_copy 0.57 380.08 2.44 65946 0.04 0.05 AmberVM::Classes::String#initialize 0.56 382.46 2.38 62905 0.04 0.05 AmberVM::Classes::Number#initialize 0.55 384.81 2.35 118222 0.02 0.03 BasicObject#!= 0.50 386.94 2.13 227945 0.01 0.01 AmberVM::PluginHost.plugin_hash 0.48 389.00 2.06 251977 0.01 0.01 Array#length 0.47 391.01 2.01 177300 0.01 0.01 AmberVM::Functions::At#signature 0.47 393.02 2.01 252038 0.01 0.01 Fixnum#== 0.47 395.03 2.01 35962 0.06 3.94 Kernel.catch 0.47 397.02 1.99 278805 0.01 0.01 Hash#default 0.45 398.93 1.91 230936 0.01 0.01 BasicObject#initialize 0.41 400.68 1.75 173865 0.01 0.01 AmberVM::Classes::Boolean#is_true? 0.36 402.22 1.54 188118 0.01 0.01 Fixnum#+ 0.35 403.70 1.48 181749 0.01 0.01 Array#shift 0.30 404.97 1.27 161734 0.01 0.01 Integer#to_i 0.28 406.18 1.21 32966 0.04 2.96 AmberVM::Functions::Or#execute 0.27 407.31 1.13 34833 0.03 5.45 AmberVM::Interpreter::FunctionCall#execute 0.23 408.27 0.96 123799 0.01 0.01 AmberVM::Classes::Number#value 0.20 409.14 0.87 34855 0.02 0.06 AmberVM::Classes::Object::VariableProxy#[] 0.20 410.00 0.86 34833 0.02 5.41 AmberVM::Interpreter::OptimizedClosures::OptimizedBinding#call 0.20 410.84 0.84 69702 0.01 0.01 AmberVM::Classes::Null#data_type 0.19 411.65 0.81 65938 0.01 0.01 AmberVM::Classes::Class#data_type
JRuby heap profile (head):
SITES BEGIN (ordered by live bytes) Mon Sep 21 20:37:32 2009
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 5.01% 5.01% 1962240 24528 83730720 1046634 312856 org.jruby.runtime.Frame
2 5.01% 10.02% 1962000 24525 83729680 1046621 314312 org.jruby.runtime.Binding
3 4.01% 14.03% 1568864 17828 72917592 828609 309585 org.jruby.runtime.scope.FourVarDynamicScope
4 3.20% 17.22% 1251200 19550 67833408 1059897 310073 org.jruby.runtime.scope.OneVarDynamicScope
5 2.75% 19.97% 1075840 16810 48417792 756528 311089 org.jruby.RubyArray
6 2.55% 22.52% 998144 17824 46421312 828952 314407 org.jruby.runtime.scope.DummyDynamicScope
7 2.24% 24.76% 876736 5768 49130504 323227 305675 org.jruby.runtime.builtin.IRubyObject[]
8 1.70% 26.46% 666824 16804 29468568 756507 311468 org.jruby.runtime.builtin.IRubyObject[]
9 1.62% 28.08% 633320 10326 633320 10326 300000 char[]
10 1.55% 29.62% 605520 15138 11026040 275651 310078 org.jruby.RubyObject
11 1.51% 31.14% 591600 7395 29588320 369854 309585 org.jruby.runtime.scope.ThreeVarDynamicScope
12 1.50% 32.63% 586800 7335 28434304 350817 310092 org.jruby.runtime.builtin.IRubyObject[]
13 1.32% 33.95% 515704 15080 11064360 301661 313954 java.lang.Object[]
14 1.27% 35.22% 496640 7760 22515264 351801 310101 org.jruby.RubyArray
15 1.20% 36.42% 471680 7370 22258560 347790 313887 org.jruby.RubyArray
16 1.20% 37.62% 469440 7335 22452288 350817 310091 org.jruby.runtime.scope.ManyVarsDynamicScope
17 1.05% 38.68% 413064 10309 413064 10309 300000 java.lang.String
18 1.05% 39.73% 410760 7335 19470248 347683 315735 org.jruby.runtime.Block
19 1.02% 40.75% 398944 7124 17624152 314717 315732 org.jruby.runtime.Block
20 1.01% 41.76% 396672 6198 22924416 358194 305674 org.jruby.RubyArray
21 0.95% 42.71% 371264 5801 11356672 177448 314174 org.jruby.RubyArray
22 0.93% 43.64% 366120 5085 28833048 400459 309585 org.jruby.runtime.scope.TwoVarDynamicScope
23 0.87% 44.51% 341952 7124 16599360 345820 315401 org.jruby.runtime.builtin.IRubyObject[]
24 0.78% 45.30% 306920 7673 370080 9252 307698 org.jruby.runtime.callsite.NormalCachingCallSite
25 0.75% 46.05% 292824 5229 416528 7438 307711 java.lang.Object[]
26 0.72% 46.77% 283232 8851 1089024 34032 307662 org.jruby.lexer.yacc.SimpleSourcePosition
27 0.72% 47.49% 281472 4398 7922752 123793 314571 org.jruby.RubyArray
28 0.68% 48.17% 266840 6671 360120 9003 307694 java.util.ArrayList
29 0.68% 48.85% 266840 6671 360120 9003 307691 org.jruby.ast.ArrayNode
30 0.63% 49.48% 246400 4400 6930000 123750 315832 org.jruby.runtime.Block
31 0.63% 50.11% 246344 4399 6933304 123809 314224 org.jruby.javasupport.util.RuntimeHelpers$MethodMissingMethod
32 0.60% 50.71% 235520 2944 10447040 130588 314941 org.jruby.runtime.Binding
33 0.60% 51.31% 235520 2944 10447040 130588 314942 org.jruby.runtime.Frame
34 0.60% 51.91% 234720 7335 11125856 347683 315736 boolean[]
35 0.58% 52.49% 227968 7124 10070944 314717 315733 boolean[]
36 0.58% 53.07% 225680 5642 7090000 177250 315815 org.jruby.runtime.builtin.IRubyObject[]
37 0.55% 53.62% 215040 3360 14765504 230711 314620 org.jruby.RubyArray
38 0.52% 54.14% 203984 1342 379392 2496 303071 java.lang.reflect.Method
39 0.52% 54.66% 203240 5081 210160 5254 307735 org.jruby.ast.LocalVarNode