I’m in the process of building a really cool profiler called “Clicktock” for Corona (and technically Lua in general). It logs time taken for functions in a special way that makes you able to run your app at normal (or very close to normal) speeds with minimal framerate stuttering. Then, it takes all the information in real-time and builds a list of stats for the amount of time each function has taken to run. The list can be sorted by number of calls to a function, average time, total time, or percent of program time. So far, it’s moderately simple (only function calls and Lua file first run times), but it has the potential to get far more powerful and capable. When you use Clicktock, it adds a little button to the corner of your app that brings out the sliding drawer of statistics.
Screenshots of the drawer opened and closed on the Dusk example app:
The drawer acts as an overlay on the app, so you can actually profile your application on-device.
So, to recap:
Pros
-
Node.JS and Lua
-
Runs with zero slowdown of your app (potentially a bit, but I’ve never experienced any)
-
Allows you to profile your app on-device
Cons
-
A little simplistic right now
-
…That’s all I can think of
Is there any interest for this kind of tool? I’ve found it pretty useful for profiling Crystalline; it was able to keep everything running at perfect speed but pinpoint the sections in my code that were taking the longest.
After releasing Dusk, CBEffects, and several other open-source tools, I’m thinking of making this one paid, to see how things go. It won’t be expensive, though, so don’t worry :). Hopefully, the forum software will put my price poll in here, so please vote on it. Thanks!
- Caleb