Ruby 使用心得汇总——寻找高效的实现
Ruby 使用心得 1、多使用 Benchmark 测试效率,以寻找高效的实现,尤其是对于
频繁执行的代码。Ruby 执行的效率本身比较慢,所以代码选择很重要。
1. require'benchmark'
2.
3. n=100000
4. Benchmark.bm{|x|
5. x.report("gsub"){
6. foriin1..n
7. a="abcdef"*10
8. b=a.gsub(//,"")
9. end
10. }
11. x.report("tr"){
12. foriin1..n
13. a="a\"bcdef"*10
14. b=a.tr("","")
15. end
16. }
17.
上面执行结果:
1. usersystemtotalreal
2. gsub2.3120000.1090002.421000(2.438000)
3. tr0.6560000.0000000.656000(0.672000)
两者效率相差近四倍。
Ruby 使用心得 2、关于字符串连接,尽量使用"<<",而不是"+=",因为两者效率
相差巨大。
1. require'benchmark'
2.
3. Benchmark.bm{|b|
4. b.report("+="){
5. a=""
6. 100000.times{a+="foo"}
7. }
8. b.report("<<"){