Hari Jiang's Mind Palace

About Blog Email Feed

14 May 2013
ruby-stdlib-delegate

一直对delegate效率抱有疑问(虽然从未做过牛X到需要改进这里效率的项目..)

SimpleDelegate使用的果然是method_missing方法 method_missing据说是很慢的。。因为ruby要查询很多层方法

ActiveRecord采用的改进方案是method_missing中去创建方法,这样第二次调用就会命中创建的方法了

不过不到框架的级别应该是不需要在意这些的..

DelegateClass方法会返回一个匿名类,并且作为参数的类的实例方法都会在其中定义一遍 所以没有method_missing,当然用起来不是那么Simple..

delegate库解决了像是equal?, methods, instance_methods等等很多类似的小问题


Til next time,
Hari Jiang 2013.05.14

avatar

About Blog Email Feed