#include extern "c"
;#pragma comment(lib, "lua51.lib") //《載入lua鏈結庫
lua_state *l; //《建立全域性lua物件指標
long long use_lua_fun(lua_state *l, const char funname, int a, int b)
long long sum = (long long)lua_tointeger(l, -1); //《將棧頂轉換成longlong型資料
lua_pop(l, 1); //《彈出第乙個元素
return sum;
}int main()
clock_t start, end;
start = clock();
for(i = 0; i < 4000000; i++)
sum += 1+2;
end = clock();
printf("in c++, runing time is %d ms %lld\n",(int)(end - start), sum);
start = clock();
sum = use_lua_fun(l, "loopadd", 1, 2);
end = clock();
printf("lua loopadd function, runing time is %d ms %lld\n",(int)(end - start), sum);
sum = 0;
start = clock();
for(i = 0; i < 4000000; i++)
sum += use_lua_fun(l, "add", 1, 2);
end = clock();
printf("c++ loop lua's add function, runing time is %d ms %lld\n",(int)(end - start), sum);
lua_close(l); //《關閉lua物件指標
return 0;
}test.lua 指令碼內容如下
function add(x,y)
return x+y;
endfunction loopadd(x,y)
local sum = 0
for i = 1,4000000
dosum = sum + x + y
endreturn sum
end輸出結果
in c++, runing time is 16 ms 12000000
lua loopadd function, runing time is 219 ms 12000000
c++ loop lua's add function, runing time is 1937 ms 12000000
測試執行分層
測試執行分層 v模型體現了測試設計分層和測試執行分層的概念,本文以作者自身的理解談談測試執行分層,不過從實際專案運作情況來看,真正做到測試執行分層的並不多,這裡原因有很多種,暫且不論。1.ut 單元測試的物件是lld中所劃分定義的程式單元或模組,它也是單元測試用例設計中可測試的最大單元。該測試物件可...
測試執行 setup tearDown
1 測試執行 這類方法用於測試的執行過程,比如在測試之前連線資料庫,測試之後用於清除增加的字段,跳過某個測試用例等。利用這些方法,可以降低測試用例 的複雜度,減少 耦合度,結構也更加清晰。setup 與teardown 顧名思義。setip和teardown分別是安裝和解除安裝的意思。setup 方...
談談測試執行分層
v模型體現了測試設計分層和測試執行分 層的概念,本文以作者自身的理解談談測試執行分層,不過從實際專案運作情況來看,真正做到測試執行分層的並不多,這裡原因有很多種,暫且不論。1.ut 單元測試的物件是lld中所劃分定義的程式單元或模組,它也是 單元測試用例設計中可測試的最大單元。該測試物件可能由乙個或...