直接上 code:
class A
def a_method
b_method
end
def b_method
end
end
class B
def a_method
self.b_method
end
def b_method
end
end
区别在于在调用实例方法时是否加上 self.
代码
1..10000000.times do
a = A.new
a.a_method
end
#时间为:
real 0m5.647s
user 0m5.623s
sys 0m0.003s
1..10000000.times do
b = B.new
b.a_method
end
#时间为
real 0m5.630s
user 0m5.603s
sys 0m0.007s
多次计算后 都显示加上 self 后,更块。 也有人说这个加不加 self 性能有 10 倍之差 求原理,先献上一个 ^_^