> Like to get the opinions of other Ruby experts on this. What
> kind of potential trouble am I asking for by using this?
(Not that I'm a Ruby expert, but anyway...)
You'll run into a real slowdown of your application. AFAIK,
creating objects is one of the most expensive operations in any
OO language. Even when it's implemented in C, as is done with
Ruby.
Yeah, sure, go ahead, implement it in Ruby and slow it down by
a factor of three!... :}
(Just kidding...)
gegroet,
Erik V. -
http://www.erikveen.dds.nl/
----------------------------------------------------------------
require "benchmark"
class Class
alias :create :new
def new_new(*a, &b)
obj = allocate
obj.send(:initialize, *a, &b)
obj
end
end
times = 1_000_000
Benchmark.bmbm do |bm|
bm.report("old_new") do
times.times do
Object.new
end
end
bm.report("new_new") do
times.times do
Object.new_new
end
end
end
----------------------------------------------------------------
<snip/>
user system total real
old_new 0.680000 0.010000 0.690000 ( 0.687622)
new_new 1.880000 0.010000 1.890000 ( 1.889214)
----------------------------------------------------------------