Ruby 性能提示

greyblake · 2012年09月02日 · 最后由 zmbacker 回复于 2012年09月07日 · 3605 次阅读

Perfect, Nice work!

这个帖子很好呀。给人一些很不错的提示,为什么没人回复呢?

还有:楼主应该是外国人吧... 可是标题是汉字。哈哈

+= 和 << 的差距竟然这么大!

很实用的帖子,这种小的 tricks 积少成多,是会影响整个系统的性能的!

以后要注意好这些 tricks 才行

If you want to use English here, go ahead, most of us can understand, so welcome to the game

+= 在内存中需要多复制一份原始字符串

<< 直接修改字符串内存

如果用到很多次的话 频繁复制 差距就会很大

<< 感觉也比 += 好看,我这么认为。

字符串的+=<<都是在一定数量级的时候才产生倍数的性能消耗

#7 楼 @zmbacker <<直接修改原来字符串内容?假设分配给原来字符串的内存就不够呢?如果这样的话,+=也可以直接修改原来字符串的内容啊,有什么不对的?

#11 楼 @zhenjunluo 除非机器内存不足了 否则不会出现内存不足,这应该是 ruby 要做的工作。 += 的运算 是先复制一份内存做加运算结果 然后再替换原来的内容。ruby 还有一些语言也是这样处理的,这个不是“也可以”问题,而是目前“就这样”实现的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号