Skip to content

Instantly share code, notes, and snippets.

@brixen
Created September 18, 2009 06:50
Show Gist options
  • Select an option

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

Select an option

Save brixen/188919 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 -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.97 1.92 0.19 26800 0.01 0.07 Array#each
0.51 0.26 0.08 678 0.12 0.39 Compiler::StackDepthCalculator#run_from
0.19 0.09 0.08 205763 0.00 0.00 Kernel#===
0.15 0.08 0.07 38726 0.00 0.00 Proc.__from_block__
0.41 0.23 0.07 18122 0.00 0.01 InstructionSequence::Encoder#encode
0.40 0.22 0.05 1 52.61 216.63 Rubinius::Melbourne#file_to_ast
0.09 0.05 0.05 23 2.15 2.15 Rubinius::CompiledMethod.scripts
0.34 0.12 0.05 12014 0.00 0.01 Array#map!
0.13 0.07 0.05 36671 0.00 0.00 Rubinius::InstructionSet.[]
0.09 0.05 0.04 6193 0.01 0.01 Rubinius::Generator#add_literal
0.10 0.05 0.04 59359 0.00 0.00 Array#first
0.07 0.02 0.04 334541 0.00 0.00 Kernel#equal?
0.24 0.13 0.03 35025 0.00 0.00 Rubinius::InstructionSet::OpCode#stack_difference
0.21 0.09 0.03 38565 0.00 0.00 Rubinius::Generator#collapse_labels {}
0.07 0.03 0.03 36963 0.00 0.00 Array#last
0.13 0.07 0.03 12220 0.00 0.01 Rubinius::AST::ClosedScope#map_variables {}
0.13 0.07 0.02 9860 0.00 0.01 Hash#[]=
0.05 0.03 0.02 2043 0.01 0.01 Rubinius::Melbourne#process_str
2.38 0.31 0.02 18477 0.00 0.02 Rubinius::AST::Node#visit
0.46 0.25 0.02 36244 0.00 0.01 InstructionSequence::Encoder#encode_stream {}
0.07 0.04 0.02 14847 0.00 0.00 Hash#find_entry
0.04 0.01 0.02 181059 0.00 0.00 Array::Iterator#next
2.12 0.31 0.02 24015 0.00 0.01 Rubinius::AST::Node#visit {}
0.04 0.02 0.02 7258 0.00 0.00 Kernel#respond_to?
0.05 0.02 0.02 40968 0.00 0.00 Array#to_iter
0.03 0.01 0.02 124514 0.00 0.00 Kernel#kind_of?
0.09 0.05 0.02 35025 0.00 0.00 Rubinius::InstructionSet::OpCode#stack_consumed
0.03 0.02 0.02 1298 0.01 0.01 Rubinius::VariableScope#last_match=
0.04 0.02 0.02 41405 0.00 0.00 Array#<<
0.10 0.05 0.02 36671 0.00 0.00 Rubinius::InstructionSet::OpCode#stack_produced
0.03 0.01 0.02 140172 0.00 0.00 Array::Iterator#item
0.06 0.03 0.02 16602 0.00 0.00 Rubinius::Generator#add
0.03 0.02 0.02 23 0.69 0.69 Compiler::Utils.load_from_rbc
0.03 0.01 0.02 105224 0.00 0.00 Module#===
0.05 0.02 0.01 1168 0.01 0.02 Hash.[]
0.03 0.02 0.01 31038 0.00 0.00 InstructionSequence#[]=
0.03 0.02 0.01 30911 0.00 0.00 Hash#key_index
0.04 0.02 0.01 8812 0.00 0.00 Hash#new_entry
0.02 0.01 0.01 365 0.03 0.03 File::Stat#setup
0.02 0.01 0.01 72 0.17 0.18 String#suffix?
0.06 0.03 0.01 18122 0.00 0.00 Enumerable#inject {}
0.02 0.01 0.01 96345 0.00 0.00 Array#at
0.02 0.01 0.01 323 0.04 0.04 Rubinius::Melbourne#process_fcall
0.03 0.02 0.01 346 0.03 0.04 Rubinius::Melbourne#process_args
0.02 0.01 0.01 4954 0.00 0.00 Hash::Iterator#next
969 methods omitted
1,014 methods called a total of 3,005,060 times
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment