Class: ZenOptimizer
Constant Summary collapse
- @@signature =
:fuck
- @@threshold =
500
- @@sacred =
{ Sexp => true, }
- @@skip =
Hash.new(false)
- @@data =
Hash.new(0)
Class Method Summary collapse
- .data ⇒ Object
- .optimize(signature) ⇒ Object
- .signature ⇒ Object
- .start_optimizing ⇒ Object
- .stop_optimizing ⇒ Object
Class Method Details
.data ⇒ Object
46 |
# File 'lib/zenoptimize.rb', line 46 def self.data; @@data; end |
.optimize(signature) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/zenoptimize.rb', line 61 def self.optimize(signature) klass, meth = *signature unless @@sacred.include? klass then STDERR.puts "*** Optimizer threshold tripped!! Optimizing #{klass}.#{meth}" begin klass.module_eval "inline(:Ruby) { |b| b.optimize(#{meth.inspect}) }" rescue Exception => e STDERR.puts "Failed to optimize #{klass}.#{meth}" STDERR.puts "Exception = #{e.class}, message = #{e.}" end end @@skip[signature] = true end |
.signature ⇒ Object
47 |
# File 'lib/zenoptimize.rb', line 47 def self.signature; @@signature; end |
.start_optimizing ⇒ Object
49 50 51 |
# File 'lib/zenoptimize.rb', line 49 def self.start_optimizing self.instance.add_event_hook end |
.stop_optimizing ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/zenoptimize.rb', line 53 def self.stop_optimizing self.instance.remove_event_hook if $DEBUG then STDERR.puts @@skip.inspect STDERR.puts @@data.sort_by{|x,y| y}.reverse[0..4].inspect end end |