文档章节

luaCPU性能测试

liyong2
 liyong2
发布于 2016/10/18 23:53
字数 324
阅读 461
收藏 0

lua的debug库提供了 sethook接口, 可以监控 函数的进入和返回事件,因此可以统计一个函数的运行时间

可以每帧,打印日志,当前帧调用了哪些函数,每个函数的调用次数,总的调用时间长度,通过分析日志,可以得到函数的性能指标

参考UnityProfiler 可以统计函数调用的层次关系,函数自己的时间和子函数的时间区分

同时需要一个性能比较好的日志库,防止频繁写日志

可以使用c++,调用LuaAPI 为Lua写库;

CPu性能分析库主要涉及4个接口:

日志设置

启动

写日志

停止

使用简单的高性能日志库:easylogging++.h

库地址:

http://git.oschina.net/liyonghelpme/LuaProfilerForUnity

集成方法:

将这个工程中代码拷贝到Unity的Plugins目录下面,其中src目录只保留几个头文件即可,外面目录,去掉main.cpp 代码

改造ulua 或者slua 或者 tolua# 在初始化lua虚拟机的时候,调用luaopen_profiler 打开性能测试库

在lua脚本代码里面,初始化库,每帧率写入日志

最后将日志文件中的数据,用python之类的进行分析即可。

© 著作权归作者所有

liyong2

liyong2

粉丝 51
博文 196
码字总数 64732
作品 0
广州
程序员
私信 提问
性能测试知多少---性能测试流程

看到好多新手,在性能需求模糊的情况下,随便找一个性能测试工具,然后就开始进行性能测试了,在这种情况下得到的性能测试结果很难体现系统真实的能力,或者可能与系统真实的性能相距甚远。 ...

长平狐
2013/03/12
231
0
关于性能测试的那些事

之前有做过几次做性能测试,略有心得和大家分享一下 从测试需求开始,到完成测试,都需要经过很多阶段 首先是测试需求,要评估测试需求是否合理,并不是所有的性能测试需求都需要直接来安排测...

fiawfo
2016/11/24
178
0
APP测试中压力测试和性能测试差异

性能测试就是用来测试应用运行性能的。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起之...

fiawfo
2016/12/06
424
1
性能测试的概念及其分类

1.4.1 性能测试 系统的性能是一个很大的概念,覆盖面非常广泛,软件系统的性能包括执行效率、资源占用、系统稳定性、安全性、兼容性、可靠性、可扩展性等。性能测试是为描述测试对象与性能相...

fish_yy
2014/11/19
0
0
性能测试经验之如何编写性能测试用例

  【IT168 技术评论】由于性能测试与功能测试有很大的区别,所以讨论出的结果可能与预先的设想有一定的区别。   性能测试的目的:   为了验证系统是否达到用户提出的性能指标,同时发现...

作者:ITPUB论坛
2009/11/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

规则引擎

解决问题 版本迭代速度更不上业务变化,但是若多个业务同时变化,除了为每个业务设计专属配置项也不利于操作。就想服务接口单纯化,将复杂多变的业务逻辑交给规则引擎,让用户在web端或cs端自...

无极之岚
45分钟前
7
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
今天
449
10
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
10
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部