幾種指令碼語言的效能簡單測試
阿新 • • 發佈:2019-02-13
今天簡單測試了幾種指令碼語言迴圈的效率,分別是
native c
tcc(tiny c compiler)
lua
AngelScript
都是在vc環境下做的測試
//c程式碼如下
//c & tcc & as code: 這些都是c風格的,我個人比較習慣
double process(double ret)
{
double i=0.0;
for(i=0.0;i<1000000000.0;i+=1.0)
ret +=2.0;
return ret;
}
//lua code:說實話,我不大喜歡這種風格:)
local i=0.0;
local function process (ret)
while(i < 1000000000.0) do
i = i+1.0
ret = ret + 2.0
end
return ret
end
分別用四種語言測試了一下,所花時間(ms)是:
c 1625
tcc 5468
lua 103368
as 268906
以c為標準,看來lua其實也很慢,大概只有c的1/60速度,angelscript就更慢了,只有1/150......,tcc也沒有預想中的快,大概是c的1/4(沒想到會這麼慢的,這可是編譯成386機器程式碼的啊)
現在很多的專案都採用lua做指令碼,寫一些介面,AI什麼的,簡單的測試下發現效率堪憂。不知道luajit能不能帶來效能上的飛躍,以後有空得測試一下。
tcc雖然也沒有預想中的快,(原來我認為會和c差不多,最多差個百分之幾十),但至少是和c在一個數量級上,在效率上還是可以接受的。我們現在的專案的伺服器指令碼就在用它.