fakescript與lua的性能比較

以前一直有人讓給出fakescript與lua的測試數據,那麼問題來了
函數

測試環境爲Amazon EC2 t2.micro,單核1g內存測試

測試代碼和腳本在fakescript的源碼裏都能找到,連接 fakescript
lua

lua與fake均使用O3編譯.net

測試方法爲調用腳本函數myfunc1  900w次,看總消耗時間   code

因爲這種嵌入式腳本,邏輯老是分爲自身邏輯和與C函數的交互,所以測試腳本分紅了對應的兩種
ip

下圖是針對兩種腳本的運行結果:內存


fakescript lua
9.lua(自身邏輯)
7s
10s
17.lua(調用C函數)
2s
5s


9.lua內容以下,主要是腳本內部的循環、判斷與計算get

-- func1 comment
function myfunc1(arg1, arg2)
    
    while arg1 < arg2 + 10 do
    
        arg1 = arg1 + 1
    end
    
    return arg1
    
end

lua的調用圖:源碼

fake的調用圖io



對於17.lua,腳本內容以下,主要內容是調用註冊的C函數cfunc1

-- func1 comment
function myfunc1(arg1, arg2)
    
    return 1 + cfunc1(-10, cfunc1(arg1, arg2))
    
end

cfunc1的內容很簡單

int cfunc1(int a, int b)
{
    return a - b;
}

那麼lua的調用圖以下:


fake的調用圖爲


能夠看到,fake調用的函數比lua少的多,由於內部結構更簡單

相關文章
相關標籤/搜索