|
|
1
89
注意:我已经对它进行了更新,使其能够与较新的Ruby版本一起工作,并清理了标题,并在更快的系统上运行了基准测试。 interpolation 原因是什么 there is no significant difference in performance 使用单引号与双引号时。 |
|
|
2
106
总结:
great collaborative Ruby style guide
细节: 解析 执行 一模一样
基准测试这只表明对Ruby如何工作缺乏了解。在这两种情况下,字符串都将被解析为
请注意,如果有插值的形式
|
|
|
3
35
具体来说,请注意
|
|
|
4
16
修改自 Zetetic's
输出
|
|
|
5
13
单引号可以比双引号稍微快一点,因为lexer不必检查
也就是说,实际的问题是使用双引号字符串是否“以任何有意义的方式降低性能”,答案是决定性的“否”。性能上的差异是如此之小,以至于与任何真正的性能问题相比都是微不足道的。不要浪费你的时间。
|
|
|
6
9
我想添加1.8.7和1.9.2的比较。我跑了几次。方差约为+-0.01。
ruby 1.8.7(2010-08-16补丁级别302)[x86_64-linux]
ruby 1.9.2p0(2010-08-18修订版29036)[x86_64-linux]
|
|
|
7
9
|
|
|
8
3
两个方向上都没有显著差异。它必须是巨大的,才有意义。 除了您确定在计时方面存在实际问题的时候,请针对程序员的可维护性进行优化。
如果优化意味着代码更难维护,那么在数千次运行中节省几秒钟甚至几分钟的运行时间又有什么好处呢? 选择一种风格,并坚持下去,但一定要这样做 不 |
|
|
9
1
我也认为单引号字符串可能会更快地解析Ruby。事实似乎并非如此。 无论如何,我认为上述基准衡量的是错误的。 很显然,这两个版本都将被解析为相同的内部字符串表示形式,因此,为了得到解析哪个更快的答案,我们不应该用字符串变量来衡量性能,而应该衡量Ruby解析字符串的速度。
|
|
|
10
1
我尝试了以下方法:
这些是输出:
2.
4.
5.
6.
9
10
|
|
|
11
0
这当然是可能的,这取决于实现,但是解释器的扫描部分应该只查看每个字符一次。它只需要一个额外的状态(或可能的状态集)和转换来处理{}块。
|
|
|
12
0
|
|
|
13
0
有一个你们都错过了。 这里,医生 试试这个
它给了我
所以它肯定比concat和写所有这些看跌期权要好。 我希望看到Ruby更多地学习文档操作语言。
|
|
|
14
0
我修改了蒂姆·斯诺海特的回答。
结果:
|
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |