百度上有一篇ahk,au3,aau简单那性能比较的文章。1亿次循环
http://hi.baidu.com/luac/blog/item/29d97e4293f52d1d9313c692.html
结论是aau最快。
验证了一下
方法1:使用windowsapi,这里原来的代码改了一下
结果是125ms
import win;
GetTickCount = ::Kernel32.api("GetTickCount","int()")
tick = GetTickCount();
var a = 0
for (i = 1; 100 ){
for (j = 1; 100000 ){
a = a+1
}
}
tick2 = GetTickCount();
win.msgbox(tick2 - tick + "毫秒","测试结果" + a)
方法2:使用自带的高精度计时
结果是135ms
import time.performance;
io.open()
tk = time.performance.tick();
var a = 0
for (i = 1; 100 ){
for (j = 1; 100000 ){
a = a+1
}
}
io.print( ( time.performance.tick() - tk ) ,"毫秒" )
方法3:
使用参考页面提供的timer1测试
结果是205ms
var a=0
for (i = 1; 100; 1)
{
for (j = 1; 100000; 1)
{
a=a+29
a=a-28
}
}
作为脚本语言,这个结果确实比较快。
测试次数改为1亿次,也仅为2000ms左右
如果去掉a前面的var定义
则时间会加长到6735ms.长到3倍