Skip to content

Instantly share code, notes, and snippets.

@brixen
Created July 15, 2009 23:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brixen/148056 to your computer and use it in GitHub Desktop.
Save brixen/148056 to your computer and use it in GitHub Desktop.
irb(main):001:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.089955
=> nil
irb(main):002:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.052415
=> nil
irb(main):003:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.053077
=> nil
irb(main):004:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.040124
=> nil
irb(main):005:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.062432
=> nil
irb(main):006:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.061146
=> nil
irb(main):007:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.073722
=> nil
irb(main):008:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.045359
=> nil
irb(main):009:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.060803
=> nil
irb(main):010:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.064863
=> nil
irb(main):011:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.049066
=> nil
irb(main):012:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.062718
=> nil
irb(main):013:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.051157
=> nil
irb(main):014:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.040659
=> nil
irb(main):015:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.037621
=> nil
irb(main):016:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.037977
=> nil
irb(main):017:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.0441
=> nil
irb(main):018:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.03706
=> nil
irb(main):019:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.043588
=> nil
irb(main):020:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.044838
=> nil
irb(main):021:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.041168
=> nil
irb(main):022:0> timeit { File.to_ast "lib/ruby_parser.rb" }
0.036146
=> nil
irb(main):023:0> timeit { File.to_sexp "lib/ruby_parser.rb" }
0.43213
=> nil
irb(main):024:0> timeit { File.to_sexp "lib/ruby_parser.rb" }
0.454084
=> nil
irb(main):025:0> timeit { File.to_sexp "lib/ruby_parser.rb" }
0.344864
=> nil
irb(main):026:0> timeit { Compiler.compile_file_to_ast "lib/ruby_parser.rb" }
0.66883
=> nil
irb(main):027:0> timeit { Compiler.compile_file_to_ast "lib/ruby_parser.rb" }
0.757974
=> nil
irb(main):028:0> timeit { Compiler.compile_file_to_ast "lib/ruby_parser.rb" }
0.853705
=> nil
irb(main):029:0> timeit { Compiler.compile_file_to_ast "lib/ruby_parser.rb" }
0.735578
=> nil
irb(main):030:0> timeit { Compiler.compile_file_to_ast "lib/ruby_parser.rb" }
0.64789
=> nil
irb(main):031:0> timeit { Compiler.compile_file "lib/ruby_parser.rb" }
4.384693
=> nil
irb(main):032:0> ^Dgauss:rubinius brian$ bin/rbx -r melbourne -r timeit
irb(main):001:0> timeit { File.to_ast "lib/ruby_parser.rb" }
6.018889
=> nil
irb(main):002:0> timeit { File.to_ast "lib/ruby_parser.rb" }
9.595632
=> nil
irb(main):003:0> timeit { File.to_ast "lib/ruby_parser.rb" }
9.696456
=> nil
irb(main):004:0> timeit { File.to_ast "lib/ruby_parser.rb" }
10.292042
=> nil
irb(main):005:0> ^Dgauss:rubinius brian$ bin/rbx -r melbourne -r timeit
irb(main):001:0> timeit { File.to_ast "lib/ruby_parser.rb" }
13158
5.670308
=> nil
irb(main):002:0> class F
irb(main):003:1> def method_missing(sym, *args)
irb(main):004:2> @count += 1
irb(main):005:2> end
irb(main):006:1> def initialize
irb(main):007:2> @count = 0
irb(main):008:2> end
irb(main):009:1> attr_reader :count
irb(main):010:1> end
=> nil
irb(main):013:0> timeit { f = F.new; i = 0; while i < 13158; f.send :"meth_#{i}"; i += 1; end; p f.count }
13158
0.104461
=> nil
irb(main):014:0> timeit { f = F.new; i = 0; while i < 13158; :"meth_#{i}"; i += 1; end; p f.count } 0
0.041025
=> nil
irb(main):015:0> ^Dgauss:rubinius brian$ bin/rbx -r melbourne -r timeit
irb(main):001:0> timeit { Rubinius::Melbourne.new.time_calls 13158 }
0.020024
=> nil
irb(main):002:0> timeit { Rubinius::Melbourne.new.time_calls 131588 }
0.169783
=> nil
irb(main):003:0> timeit { Rubinius::Melbourne.new.time_calls 1315888 }
1.358271
=> nil
irb(main):004:0> timeit { Rubinius::Melbourne.new.time_calls 13158888 }
13.975486
=> nil
irb(main):005:0> class F
irb(main):006:1> def method_missing(sym, *args)
irb(main):007:2> @count += 1
irb(main):008:2> end
irb(main):009:1> def initialize
irb(main):010:2> @count = 0
irb(main):011:2> end
irb(main):012:1> attr_reader :count
irb(main):013:1> end
=> nil
irb(main):014:0> timeit { f = F.new; i = 0; while i < 13158888; f.send :foo; i += 1; end; p f.count }
13158888
29.930971
=> nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment