Skip to content

Instantly share code, notes, and snippets.

@brixen
Created September 18, 2009 05:49
Show Gist options
  • Select an option

  • Save brixen/188903 to your computer and use it in GitHub Desktop.

Select an option

Save brixen/188903 to your computer and use it in GitHub Desktop.
gauss:rubinius brian$ bin/rbx -r compiler-ng -P self_seconds -e 'Rubinius::CompilerNG.compile_file "lib/ruby_parser.rb"'
% cumulative self self total
time seconds seconds calls ms/call ms/call name
------------------------------------------------------------
13.90 1.68 0.12 26090 0.00 0.06 Array#each
0.54 0.26 0.08 678 0.12 0.38 Compiler::StackDepthCalculator#run_from
0.17 0.08 0.07 181026 0.00 0.00 Kernel#===
0.47 0.24 0.06 1 58.91 239.81 Rubinius::Melbourne#file_to_ast
0.12 0.06 0.06 38726 0.00 0.00 Proc.__from_block__
0.10 0.05 0.05 23 2.22 2.22 Rubinius::CompiledMethod.scripts
0.11 0.06 0.05 1361 0.04 0.04 Rubinius::AST::ClosedScope#assign_local_reference
0.14 0.07 0.05 36697 0.00 0.00 Rubinius::InstructionSet.[]
0.10 0.05 0.05 6193 0.01 0.01 Rubinius::Generator#add_literal
0.09 0.04 0.04 28473 0.00 0.00 Rubinius::Generator#set_label_positions {}
0.23 0.12 0.03 12220 0.00 0.01 Rubinius::AST::ClosedScope#map_variables {}
2.82 0.34 0.03 24015 0.00 0.01 Rubinius::AST::Node#visit {}
3.08 0.35 0.03 18477 0.00 0.02 Rubinius::AST::Node#visit
0.05 0.02 0.03 242154 0.00 0.00 Kernel#equal?
0.05 0.03 0.03 2043 0.01 0.01 Rubinius::Melbourne#process_str
0.15 0.07 0.02 16608 0.00 0.00 Rubinius::Generator#add
0.08 0.04 0.02 14847 0.00 0.00 Hash#find_entry
0.06 0.03 0.02 53282 0.00 0.00 Array#<<
0.13 0.07 0.02 9860 0.00 0.01 Hash#[]=
0.05 0.02 0.02 25243 0.00 0.00 Array#first
0.04 0.02 0.02 1297 0.01 0.01 Rubinius::VariableScope#last_match=
0.04 0.02 0.02 7255 0.00 0.00 Kernel#respond_to?
0.03 0.02 0.02 23 0.69 0.69 Compiler::Utils.load_from_rbc
0.05 0.02 0.02 3040 0.01 0.01 Rubinius::Melbourne#process_number
0.03 0.01 0.02 105223 0.00 0.00 Module#===
2.38 0.65 0.02 35880 0.00 0.02 Enumerable#each_with_index {}
0.05 0.02 0.01 29216 0.00 0.00 Array#to_iter
0.04 0.02 0.01 20381 0.00 0.00 Array#last
0.13 0.07 0.01 18443 0.00 0.00 Rubinius::InstructionSet::OpCode#stack_difference
0.03 0.01 0.01 117730 0.00 0.00 Array::Iterator#next
0.05 0.02 0.01 8812 0.00 0.00 Hash#new_entry
0.03 0.02 0.01 30911 0.00 0.00 Hash#key_index
0.02 0.01 0.01 72 0.18 0.18 String#suffix?
0.03 0.02 0.01 863 0.01 0.02 Rubinius::Melbourne#process_call
0.02 0.01 0.01 365 0.03 0.03 File::Stat#setup
0.03 0.01 0.01 5778 0.00 0.00 Rubinius::AST::Define#map_super {}
0.02 0.01 0.01 4954 0.00 0.00 Hash::Iterator#next
0.02 0.01 0.01 88589 0.00 0.00 Array::Iterator#item
0.02 0.01 0.01 64635 0.00 0.00 Kernel#kind_of?
0.02 0.01 0.01 53282 0.00 0.00 Array#set_index
0.06 0.03 0.01 20089 0.00 0.00 Rubinius::InstructionSet::OpCode#stack_produced
0.02 0.01 0.01 78920 0.00 0.00 Rubinius::Tuple#[]
0.03 0.01 0.01 12 0.76 1.24 Hash#redistribute
0.30 0.15 0.01 14467 0.00 0.01 Hash#[]
0.08 0.02 0.01 6193 0.00 0.00 Rubinius::Generator#package {}
968 methods omitted
1,013 methods called a total of 2,371,492 times
gauss:rubinius brian$ bin/rbx -P -e 'Compiler.compile_file "lib/ruby_parser.rb"'
% cumulative self self total
time seconds seconds calls ms/call ms/call name
------------------------------------------------------------
5.16 18.59 0.00 1416 0.00 13.13 Compiler::Node#set
5.16 18.59 0.00 1416 0.00 13.13 Compiler#set
5.01 20.30 0.19 34899 0.01 0.58 Array#each
4.73 17.83 0.00 357 0.00 49.93 Compiler::Node#show_errors
4.73 17.83 0.00 357 0.00 49.93 Compiler#show_errors
4.72 17.83 0.00 349 0.00 51.08 Compiler::MethodDescription#run
4.72 17.83 0.00 354 0.01 50.36 Compiler::Node::Block#bytecode
4.72 17.83 0.00 349 0.00 51.08 Compiler::Generator#run
4.71 17.83 0.00 2 0.00 8912.81 Compiler::Node::ClosedScope#attach_and_call {}
2.68 20.30 0.00 1 0.01 20298.24 Rubinius::Loader#evals
2.68 20.30 0.00 2 0.00 10149.11 Rubinius::Loader#evals {}
2.68 20.30 0.00 1 0.03 20298.22 Kernel#eval
2.68 20.30 0.00 1 0.00 20296.56 Object#__script__ {}
2.68 20.30 0.00 1 0.01 20296.56 Compiler.compile_file
2.37 17.83 0.00 347 0.00 51.37 Compiler::Node::Scope#bytecode
2.35 17.83 0.00 2 0.00 8913.15 Compiler::Node::ClosedScope#to_description
2.35 17.83 0.00 2 0.00 8913.13 Compiler::Node::ClosedScope#to_description {}
2.35 17.83 0.00 1 0.00 17826.04 Compiler::Node::Script#bytecode
2.35 17.83 0.00 1 0.01 17826.01 Compiler::Node::Script#bytecode {}
2.35 17.83 0.00 1 0.01 17825.85 Compiler::Node::Class#bytecode
2.35 17.83 0.00 1 0.02 17825.77 Compiler::Node::ClosedScope#attach_and_call
2.31 17.49 0.00 4677 0.00 3.74 Compiler::Generator#find_literal
2.31 17.48 5.98 4677 1.28 3.74 Array#index
2.03 15.40 0.01 4283 0.00 3.60 Compiler::Generator#push_literal
1.37 10.38 0.00 11 0.01 943.82 Compiler::Node::ArrayLiteral#bytecode
1.37 10.37 0.00 5625 0.00 1.84 Compiler::Node::ArrayLiteral#bytecode {}
1.14 8.58 0.00 405 0.00 21.18 Compiler::Node::LocalAssignment#bytecode
1.07 7.85 2.91 5590108 0.00 0.00 String#==
0.97 7.36 0.00 346 0.01 21.27 Compiler::Node::Define#bytecode
0.89 6.71 0.01 4408 0.00 1.52 Compiler::Generator#push
0.88 6.70 0.00 3308 0.00 2.03 Compiler::Node::NumberLiteral#bytecode
0.88 6.68 0.01 3308 0.00 2.02 Compiler::Generator#push_int
0.87 0.77 0.02 12446 0.00 0.06 Compiler#convert_sexp
0.86 0.77 0.05 12446 0.00 0.06 Compiler::Node.create
0.61 4.47 2.65 4115732 0.00 0.00 Kernel#respond_to?
0.49 3.71 0.00 2044 0.00 1.82 Compiler::Node::StringLiteral#bytecode
0.44 0.85 0.14 25300 0.01 0.03 Array#map!
0.44 0.77 0.00 8203 0.00 0.09 Compiler::Node#convert
0.41 0.40 0.05 13175 0.00 0.03 Rubinius::SydneyRewriter#rewrite
0.40 0.38 0.03 13175 0.00 0.03 Rubinius::SydneyRewriter.sexp_from_array
0.37 0.40 0.03 36712 0.00 0.01 Rubinius::SydneyRewriter#rewrite {}
0.36 0.38 0.08 36712 0.00 0.01 <metaclass>#sexp_from_array {}
0.35 0.77 0.05 10082 0.00 0.08 Compiler::Node#consume
0.34 0.77 0.02 13583 0.00 0.06 Compiler::Node#consume {}
0.28 2.08 0.28 709631 0.00 0.00 Fixnum#==
503 methods omitted
548 methods called a total of 47,858,349 times
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment