成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解C調用lua腳本效率測試

移動開發 iOS
C調用lua腳本效率測試是本文要介紹的內容,以下代碼以C語言為基準,測試了C調用Lua循環和循環調用Lua的效率,來看詳細內容。

C調用lua腳本效率測試是本文要介紹的內容,以下代碼以C語言為基準,測試C調用Lua循環和循環調用Lua的效率。結論是不要頻繁地穿越C/Lua邊界.

  1. #include <time.h> 
  2.  
  3. extern "C"  
  4. {  
  5. #include "lua.h"  
  6. #include "lualib.h"  
  7. #include "lauxlib.h"  
  8. }/* Lua解釋器指針 */  
  9.  
  10. const char LUA_SCRIPT[] =  
  11.     "function loop_add(a, b)            "  
  12.     "   local sum = 0                   "  
  13.     "   for i = 1, 10000000 do          "  
  14.     "       sumsum = sum + a + b           "  
  15.     "   end                             "  
  16.     "   return sum                      "  
  17.     "end                                "  
  18.     "                                   "  
  19.     "function add(a, b)                 "  
  20.     "   return a + b                    "  
  21.     "end                                "  
  22.     ;  
  23.  
  24. // lua 腳本里面的函數由C調用  
  25. int use_lua_add(lua_State *L, const char *func_name, int x, int y)  
  26. {  
  27.     int sum;                        /* 通過名字得到Lua函數 */  
  28.     lua_getglobal(L, func_name);    /* ***個參數 */  
  29.     lua_pushnumber(L, x);           /* 第二個參數 */  
  30.     lua_pushnumber(L, y);           /* 調用函數,告知有兩個參數,一個返回值 */  
  31.     lua_call(L, 2, 1);              /* 得到結果 */  
  32.     sum = (int)lua_tointeger(L, -1);  
  33.     lua_pop(L, 1);  
  34.     return sum;  
  35. }  
  36.  
  37. int main()  
  38. {  
  39.     int i, sum = 0;  
  40.     clock_t tStart, tStop;  
  41.  
  42.     lua_State *L = lua_open();  /* opens Lua */  
  43.     luaL_openlibs(L);  
  44.     if (luaL_dostring(L, LUA_SCRIPT))  // Run lua script  
  45.     {  
  46.         printf("run script failed/n");  
  47.         lua_close(L);  
  48.         return -1;  
  49.     }  
  50.  
  51.     sum = 0;  
  52.     tStart = clock();  
  53.     for (i = 0; i < 10000000; i++)  
  54.     {  
  55.         sum += 1 + 1;  
  56.     }  
  57.     tStop = clock();  
  58.     printf("C++: %dms./nThe sum is %u./n",  
  59.            (tStop - tStart) * 1000 / CLOCKS_PER_SEC, sum);  
  60.  
  61.     sum = 0;  
  62.     tStart = clock();  
  63.     sum = use_lua_add(L, "loop_add", 1, 1);  
  64.     tStop = clock();  
  65.     printf("Lua loop_add: %dms./nThe sum is %u./n",  
  66.            (tStop - tStart) * 1000 / CLOCKS_PER_SEC, sum);  
  67.              
  68.     sum = 0;  
  69.     tStart = clock();  
  70.     for (i = 0; i < 10000000; i++)  
  71.     {  
  72.         sum += use_lua_add(L, "add", 1, 1);  
  73.     }  
  74.     tStop = clock();  
  75.     printf("Loop lua add: %dms./nThe sum is %u./n",  
  76.            (tStop - tStart) * 1000 / CLOCKS_PER_SEC, sum);  
  77.     lua_close(L);  
  78.     return 0;  

運行結果:

  1. C++: 31ms.  
  2. The sum is 20000000.  
  3. Lua loop_add: 437ms.  
  4. The sum is 20000000.  
  5. Loop lua add: 2360ms.  
  6. The sum is 20000000. 

小結:詳解C調用lua腳本效率測試的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 網絡轉載
相關推薦

2011-08-22 17:13:00

LuaC++函數

2011-08-23 09:56:52

UnicodeLua

2011-08-22 17:25:31

LuaC++函數

2010-04-01 14:51:52

Visual Stud

2011-08-23 16:59:16

C++LUA腳本LUA API

2011-09-06 17:12:25

Lua腳本C++封裝庫

2011-08-25 16:20:33

Lua腳本變量

2011-08-30 11:09:26

MySQL ProxyLua

2011-06-22 14:07:42

Lua

2011-08-23 17:42:42

Lua腳本

2009-08-03 13:13:52

C#調用Outlook

2010-02-01 13:25:32

Python腳本

2011-08-23 09:50:29

LuaPlusLua 腳本

2009-09-02 10:49:46

C#調用析構方法

2010-01-15 14:10:42

C++單元測試

2009-10-09 14:24:27

2011-08-25 14:26:40

LUA數據文件

2010-01-11 16:31:54

C++優化器

2011-08-24 14:26:08

Lua游戲腳本

2021-08-11 08:00:00

腳本測試開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情视频网站 | 欧美日韩在线免费观看 | 国产成在线观看免费视频 | 国产成人免费视频网站高清观看视频 | 久久久久综合 | 91精品国产自产在线老师啪 | 成人福利影院 | 麻豆一区 | 亚洲精品在线观看网站 | 久久久亚洲一区 | 成人高清视频在线观看 | 国产美女在线观看 | 免费一区在线观看 | 国产在线视频一区 | 国产免费拔擦拔擦8x高清 | 国产精品久久久久久久一区二区 | 中文在线一区二区 | 在线小视频 | 日本三级视频 | 国产美女精品 | 久久久www成人免费无遮挡大片 | 国产视频线观看永久免费 | 日韩中文字幕视频在线 | 国产免费一区二区三区 | 中文在线а√在线8 | 美女一级a毛片免费观看97 | 欧美视频 | 中文字幕亚洲精品 | 自拍偷拍第1页 | www.欧美.com | 一级黄色片美国 | 超碰免费在线观看 | 久久久久久久综合 | 看av电影 | 日日操夜夜干 | 久久久精品一区 | 天天操天天插天天干 | 国产乱码精品一区二区三区忘忧草 | 男人天堂免费在线 | 欧美福利一区 | 亚洲视频在线观看 |