http://greyblake.com/blog/2012/09/02/ruby-perfomance-tricks/
Perfect, Nice work!
这个帖子很好呀。给人一些很不错的提示,为什么没人回复呢?
还有:楼主应该是外国人吧... 可是标题是汉字。哈哈
+= 和 << 的差距竟然这么大!
很实用的帖子,这种小的 tricks 积少成多,是会影响整个系统的性能的!
以后要注意好这些 tricks 才行
If you want to use English here, go ahead, most of us can understand, so welcome to the game
+= 在内存中需要多复制一份原始字符串
<< 直接修改字符串内存
如果用到很多次的话 频繁复制 差距就会很大
<< 感觉也比 += 好看,我这么认为。
字符串的+=跟<<都是在一定数量级的时候才产生倍数的性能消耗
+=
<<
Thanks @happypeter .
#7 楼 @zmbacker <<直接修改原来字符串内容?假设分配给原来字符串的内存就不够呢?如果这样的话,+=也可以直接修改原来字符串的内容啊,有什么不对的?
#11 楼 @zhenjunluo 除非机器内存不足了 否则不会出现内存不足,这应该是 ruby 要做的工作。 += 的运算 是先复制一份内存做加运算结果 然后再替换原来的内容。ruby 还有一些语言也是这样处理的,这个不是“也可以”问题,而是目前“就这样”实现的。