From: Erik Veenstra Date: 2007-03-06T05:39:02+09:00 Subject: Re: Safe override of Class#new? > 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 ---------------------------------------------------------------- user system total real old_new 0.680000 0.010000 0.690000 ( 0.687622) new_new 1.880000 0.010000 1.890000 ( 1.889214) ----------------------------------------------------------------