pLua 0.1发布,Lua 性能分析工具
pLua
Lua 性能分析工具
原理
类似于 gperftools,通过定时器信号回调查看调用栈,来定位调用的热点
特性
- 简单,只需几行代码,即可输出结果
- 准确,相比 lua hook,定时采样的方式更能准确捕获 lua 执行的热点
- 轻量,因为是采样的,相比直接按行 lua hook,能最小程度影响宿主程序的运行
- 直观,输出调用图,能直观的看到热点和调用关系
使用
Lua code
-- 引入libplua.so local p = require "libplua" -- 开启采样 -- 参数1:采样时间(秒),0表示一直采样 -- 参数2:采样结果文件 p.start(0, "call.pro") do_some_thing() -- 结束采样,输出结果文件 p.stop() -- 把结果转成txt格式 p.text("call.pro", "call.txt") -- 把结果转成dot格式,可用graphviz查看 p.dot("call.pro", "call.dot") -- 把结果转成svg格式,可直接用浏览器打开查看 p.svg("call.pro", "call.svg")
编译
- 安装 lua 5.3
- 安装 graphviz
- 编译 pLua
$ cmake . $ make
示例

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dart 2.5 发布,支持 Dart 与 C 相互调用
Dart 2.5 已经发布了,其中包括两个主要预览新特性:机器学习(ML)驱动的代码补全和 dart:ffi外部函数接口,用于直接从 Dart调用 C 代码。Dart2.5 还改进了对常量表达式的支持。具体如下: ML Complete,按机器学习排序的代码补全 通过分析 GitHub 上Dart 代码的大量语料库,训练基于给定上下文的可能出现的成员的模型来实现的,这个模型由 TensorFlow Lite 驱动,可以用来预测开发人员正要编辑的代码,这个新特性称为ML Complete。 假设编写一个小程序,用来计算从当前时间到某一天的时间。使用 ML Complete,如下所示(第一张图)。首先,它能够根据变量名称为now 自动提供DateTime.Now() 补全 。接下来,定义变量名 tomorrow,使用add(…) 方法。在非 ML Complete 中(第二张图),必须手动开始输入 Datetime 才会有提示补全,而且 add() 方法在补全提示的列表中的位置相对低。 ML Complete可以在所有支持 Dart 的编辑器中使用,包括 Android Studio、In...
- 下一篇
PESCMS Ticket 客服工单系统 v1.2.20 发布
我们很高兴地宣布PESCMS Ticket v1.2.20 的到来。此版本带来了附件管理功能。 新功能 附件管理 不论客户还是客服在处理工单过程,很大几率需要上传图片(文件)进行解答。因此记录上传的每一个文件非常有必要。在处理过程,选择现有的文件,可以减少空间占用的情况。 改进 上传文件选用UBB格式 以往上传文件都直接记录文件的物理地址,然后按照调用顺序在页面展示为:下载文件x.zip超链接。文件一旦多起来,很难知道这个文件是什么。本次更新,我们将上次文件保存为UBB格式,现在上传的文件将保留上传文件的名称。 调整工单详细页中反馈表单的布局 在复杂的反馈表单中,很可能包含各种信息。过去的版本中,是按照一个表单一行的形式展示。在包含图片、富文本等表单时,整个反馈表单将显示非常凌乱。本次更新,我们调整了反馈表单的布局:标题和内容各自下起一行,每一行标题给予顶部分割线区分,且改进了文字的配色,凸出反馈的内容。 下载和示例 PESCMS Ticket 可以从官网下载,或者直接下载源码。查阅文档获取更详尽的内容。我们也提供PESCMSTicket演示站。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Red5直播服务器,属于Java语言的直播服务器
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2全家桶,快速入门学习开发网站教程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长