设为首页 加入收藏

TOP

测试lua的效率
2013-09-28 14:08:00 来源: 作者: 【 】 浏览:197
Tags:测试 lua 效率

        这几天粗略的测试了一下lua的效率!首先声明这个测试很有针对性,大部分是针对游戏中的使用,而绝非lua的整体性效率(这个测试我不会),lua构建的上层逻辑中,大概使用的语句不太多,for,迭代,调用C函数,if else,local var等这些语句,其他的语句相对少!给出测试代码:

#include <iostream>extern"C" {    #include "lua.h"    #include "lualib.h"    #include "lauxlib.h"};#include "lua_tinker.h"int cpp_func(int arg1, int arg2){    return arg1 + arg2;}int main(){    // Lua 甫 檬扁拳 茄促.    lua_State* L = lua_open();    // Lua 扁夯 窃荐甸阑 肺靛茄促.- print() 荤侩    luaL_openlibs(L);    // LuaTinker 甫 捞侩秦辑 窃荐甫 殿废茄促.    lua_tinker::def(L, "cpp_func", cpp_func);    // sample1.lua 颇老阑 肺靛/角青茄促.    lua_tinker::dofile(L, "sample1.lua");    // 橇肺弊伐 辆丰    lua_close(L);    return0;}
View Code

      给出lua代码:

local main={}local array={"a","b","c","d","e","f"}main.testFunction = function()--    cpp_func(1,1)--    for i,k in ipairs(array) do--    endfor i=1,10000doif i == 1thenelseendendendmain.main = function()    print("start time:",os.time())    for i=1,10000do        main.testFunction()    endprint("end   time:",os.time())endmain.main()
View Code

     大概给出一个测试结果吧,环境是我的开发机器!

     lua 调用C函数,每秒可以调用10000000次,大概1ms调用1k次。

     lua 至于申请变量和 if else 判断,每秒可以调用100000000次,大概1ms调用1w次。迭代起与for循环相当!

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇stl的优先级队列 下一篇消息队列

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: