赞 | 13 |
VIP | 118 |
好人卡 | 28 |
积分 | 12 |
经验 | 35779 |
最后登录 | 2017-7-6 |
在线时间 | 1564 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1165
- 在线时间
- 1564 小时
- 注册时间
- 2008-7-30
- 帖子
- 4418
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 DeathKing 于 2010-7-5 02:00 编辑
NetBeans中首选项有这么一项:“将if取反语句变为unless”,我不知道有什么区别,就用Benchmark库做了下面的测试。
希望没有什么语法错误- require 'Benchmark.rb'
- TEST_TIMES = 9999999
- TEST_STATE = false
- Benchmark.bmbm(15) do |t|
- t.report("if not") {
- TEST_TIMES.times do
- if not TEST_STATE
- true
- end
- end
- }
- t.report("unless") {
- TEST_TIMES.times do
- unless TEST_STATE
- true
- end
- end
- }
- end
复制代码 结果是这样的:- Rehearsal --------------------------------------------------
- if not 3.954000 0.000000 3.954000 ( 4.109375)
- unless 3.593000 0.000000 3.593000 ( 3.730469)
- ----------------------------------------- total: 7.547000sec
- user system total real
- if not 4.219000 0.000000 4.219000 ( 4.281250)
- unless 3.625000 0.000000 3.625000 ( 3.699219)
复制代码 明显unless要快,是因为if not要计算两次么? |
|