测试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);
;
}
给出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
-- end
, do
then
else
end
end
end
main.main = function()
print("start time:",os.time())
, do
main.testFunction()
end
print("end time:",os.time())
end
main.main()
大概给出一个测试结果吧,环境是我的开发机器!
lua 调用C函数,每秒可以调用10000000次,大概1ms调用1k次。
lua 至于申请变量和 if else 判断,每秒可以调用100000000次,大概1ms调用1w次。迭代起与for循环相当!
测试lua的效率的更多相关文章
- vs2005 测试 lua环境
(1)添加文件核路径 (2)库文件路径 (3)main.cpp #include <stdio.h>#include <string.h> extern "C&quo ...
- 提升lua代码效率
local test = {} , do test[ i ] = {} end local t1 = os.clock( ) , do test[ ].mValue = end local t2 = ...
- FFmpeg: 一个简单测试手机解码效率的方法
先写一个获取当前时间戳的方法 long long GetNowMs() { struct timeval tv; gettimeofday(&tv, NULL); ; // 为了简化计算,否则 ...
- apache测试网页执行效率
apache软件下有一个测试网页访问速度的工具ab.exe,位于apache的bin目录下,windows下使用命令行进入bin目录,执行ab.exe -n 10000 -c 10 http://12 ...
- 关于 pgsql 数据库json几个函数用法的效率测试
关于 pgsql 数据库json几个函数用法的效率测试 关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次 ...
- 读《实战GUI自动化测试》之:第三步,如何提高测试结果分析的效率
转自:http://www.ibm.com/developerworks/cn/rational/r-cn-guiautotesting3/ 所谓自动化测试,就是“自动化”+“测试”.自动化本身显然不 ...
- 关于pgsql 几个操作符的效率测试比较
关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次取平均时间.测试结果:->> 效率高 5% ...
- 使用Nginx+Lua代理Hadoop HA
一.Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个Master组件提供服务,其中正在使用的组件称为Active,另一个作为备份称为Standby,例如HDFS的NameNo ...
- 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...
随机推荐
- 实施vertex compression所遇到的各种问题和解决办法
关于顶点压缩,好处是可以减少带宽,一定程度提高加载速度,可以提高约5-10%的fps,特别是mobile上,简单描述就是: 压缩之前(32字节) position float3 12normal fl ...
- CCNA实验4:HDLC和PPP
一.HDLC封装 router9和11上分别配置s0/0如下 conf t int s0/0 encapsulation hdlc do show int s0/0 ip address x.x.x. ...
- Sql server Always On 读写分离配置方法
使用了Sqlserver 2012 Always on技术后,假如采用的配置是默认配置,会出现Primary server CPU很高的情况发生,比如默认配置如下: 需要自定义来解决这个问题. 我们先 ...
- [aaronyang]WPF4.5 - AyTabControlBase样式分享,绝对好看
样式代码如下: 对于博客园将文章移除首页的做法:我就迁移了.文章已经迁移:http://www.ayjs.net/post/75.html 由于例子比较简单,你只要指定Style即可,难点,透明区域的 ...
- android TypedValue.applyDimension()的作用
这个方法是转变为标准尺寸的一个函数,例如 int size = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, cont ...
- 北京地铁月度消费总金额计算(Python版)
最近业余时间在学习Python,这是那天坐地铁时突发奇想,想看看我这一个月的地铁费共多少钱,所以简单的构思了下思路,就直接开写了,没想到用Python来实现还挺简单的. 设计思路: 每次乘车正常消费7 ...
- WPF的Timer控件的使用WPF的Timer控件的使用
通过System.Threaing.Timer控件来实现“初始加载页面时为DataGrid的模版列赋初始值” System.Threaing.Timer的用法: 步骤1: //声明定时器 System ...
- webpack 打包时到底如何组织js
问题一:引入前端库,方法也是不一样的 比如 lodash.js ,作为一个 chunk 用 html-webpack-plugin 打包到页面里,会生成一个全局变量 window._ ,在其它 js ...
- 【C#】剪切出图片的一部分
, , , ); Bitmap bmpNew = bmpBase.Clone(rect, bmpBase.PixelFormat); // 画像をGIF形式で保存 string ...
- MySQL解决插入emoji表情失败的问题
普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题.涉及无线 ...