你们猜ShiftRight快还是Foo快?
vb吧
全部回复
仅看楼主
吧务
level 13
l4m2 楼主
Private Declare Function ShiftRight& Lib "Z:\VbExtra.dll" (ByVal Value&, ByVal Bits&)
Sub Main()
Dim i&
Dim t#
t = Timer
For i = 1 To 10000000
'ShiftRight i, 3
Foo
Next
Debug.Print Timer - t
End
End Sub
Sub Foo()
End Sub
其中ShiftRight是对数字做右移操作:
proc ShiftRight value, bits
mov eax, [value]
mov ecx, [bits]
shr eax, cl
ret
2016年05月27日 11点05分 1
level 10
看不懂,我只看到 T=timer 貌似不对
2016年05月27日 13点05分 2

2016年05月28日 00点05分
timer()函数是获取自0:00:00至今的秒数
2016年05月28日 05点05分
@辛时雨 涨姿势了,哈哈,一直以为是timer控件[笑眼]
2016年05月28日 06点05分
吧务
level 13
l4m2 楼主
运行结果:
0.175250000000233
0.177781250000407
0.169656250000116
0.173875000000407
0.
18200000000
0698
---------------------
0.665656249999302
0.658968750001804
0.600843749998603
0.735281250003027
0.69
15000000008
15
2016年05月28日 07点05分 3
第一组是ShiftRight第二组是Foo
2016年05月28日 07点05分
level 13
优化全开再试[汗]
2016年05月28日 12点05分 5
确实开了优化是foo快6倍
2016年05月28日 14点05分
level 2
楼主还有vb水果大餐的程序吗[太开心][太开心][太开心]
2016年06月22日 04点06分 6
1