quick_lua之交互变量值(及效率)

 1 require("socket")
 2 
 3 --local temp = 0
 4 function func(a, b)
 5     if a > b then
 6         --local temp = 0
 7         --temp = a
 8         --a = b
 9         --b = a
10         a, b = b, a
11     end
12     return a
13 end
14 a, b = 100, 200
15 local initCnt = 0
16 while initCnt < 10 do
17     local t0_begin = socket.gettime()
18     local t1_begin = os.clock()
19     local num = 0
20     while num < 70000000 do
21         func(a, b)
22         num = num + 1
23     end
24     local t0_end = socket.gettime()
25     local t1_end = os.clock();
26     print(t0_end - t0_begin)
27     print(t1_end - t1_begin)
28     initCnt = initCnt + 1
29 end

使用1: a, b = b, a

  耗时(单位:s):

5.4483108520508
5.448
5.4453125
5.445
5.4453105926514
5.445
5.4473114013672
5.448
5.449312210083
5.449
5.4473114013672
5.447
5.4513111114502
5.452
5.4463119506836
5.446
5.4463119506836
5.446
5.4513111114502
5.452

使用2:中间变量方式, temp定义在func里面

耗时:

5.4983139038086
5.498
5.5033149719238
5.503
5.4953155517578
5.495
5.4913139343262
5.492
5.5033149719238
5.503
5.4983139038086
5.498
5.4983139038086
5.499
5.5033149719238
5.503
5.4953136444092
5.495
5.4983158111572
5.499

使用3:使用中间变量方式,temp定义在func外面

耗时:

5.5143146514893
5.514
5.5143165588379
5.514
5.5123138427734
5.512
5.5133152008057
5.514
5.5133152008057
5.513
5.5163154602051
5.516
5.5133171081543
5.514
5.5183162689209
5.518
5.5143146514893
5.514
5.5163154602051
5.517

在自己电脑上测试,测试期间,没有进行其他操作。

测试结果看,使用lua的值互换,耗时更短(?为什么qucik中有地方使用中间变量方式-->qucik源码.Cocos2d.lua文件中有用到,c++使用习惯了吗?)

转载于:https://www.cnblogs.com/QXLQianHe/p/7097314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值