用c++写ruby模块提升性能效果显著
对于生成600项item的树型目录。
纯ruby代码大约200ms
包括rails初始化(0-6ms),mysql查询(0-2ms),树型生成(20-30ms),递归render,其它。
纯ruby代码大约200ms
包括rails初始化(0-6ms),mysql查询(0-2ms),树型生成(20-30ms),递归render,其它。
经过c++重写后,全部只需10ms。实在太爽啦。
如果那递归render都用c++代替,那感觉是用C++写网页,而不是用ruby写网页,利用不到rails提供的很多特性。但递归render 600项实在耗时,鱼和熊掌不能兼得,得另想法子。
分类: 3 ruby/c++, ruby, 编程
Ruby1.8的递归,性能方面不是其强项。所以一直避免在ruby1.8中用递归,用迭代性能好一些。