Giter VIP home page Giter VIP logo

luaprofiler's Introduction

一个简单的 Lua 性能分析工具

  • profiler.start([co,] count [, interval])

针对当前线程,或指定一个线程 (co) 开启性能分析。同一个线程 (coroutine) 只可以同时开始一次。count 指最多记录多少条探测记录,interval 指每隔多少条字节码探测一次。

  • profiler.info([co])

返回 info 表和 count ,info 表里有每个探测点所在的源文件构成的子表,子表中根据每个函数定义开始行为 key 统计被探测到的次数。count 指从开始到当下,总共被探测到的次数。注意,这个返回次数有可能大于 start 时传入的次数,这种情况下,info 表中的统计次数是按 start 传入的次数(最后发生的次数)计算的。

  • profiler.stop([co])

停止分析统计。info 必须先于 stop 调用。由于 info 函数本身是 C 函数,所以调用 info 并不会影响统计结果。

luaprofiler's People

Contributors

cloudwu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luaprofiler's Issues

能够应用到Unity里吗?

云风大大你好。我最近也做了一个luaprofiler,但是我做的profiler的钩子函数回调是在lua里的。在lua里处理数据,然后生成报表给C#使用,C#再显示到Unity的编辑器窗口里。这样会有一个问题,当profiler处理的调用深度过深的时候,钩子函数回调里面处理数据所耗的时间,比我们探测到的函数所耗的时间还要长。简单地说,就是当调用深度过深的时候我统计的调用时间就失真了。
然后我在github上看到这个项目,统计和处理数据是在c里进行的,看起来还是在另外一个线程。我想借鉴一下,但是没有怎么看懂。所以我想请问下,我把我的profiler处理数据那一块挪到c里,或者其他的办法,能解决这个失真的问题吗?如果可以解决的话,那我想朝着这个方向努力下。求解答,谢谢!

为何用LUA_MASKCOUNT

我用LUA_MASKRET但是因为TailCall不能及时回调,导致统计不了函数的总体运行时间,有啥好的解决办法吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.