Corona® Profiler- A Line-by-Line Analysis of Your Code - New Update

Hello Community,

Please visit our website: http://www.mydevelopersgames.com/site/

-New in this version

  • Memory Leak Timeline!

  • Memory Profiler

  • File Filters

  • Profiler Resolution (for speed)

We are proud to present Corona® Profiler, the easiest way to get a line by line performance report of your Corona® App. Profiler will help you optimize your code by measuring the execution time for each line of your program and giving you a report of which lines need work.
We used profiler to optimize our game Space Conquest and we improved user ratings and performance on lower end devices. You can see the actual profiler report at our website
http://www.mydevelopersgames.com/site/

New update coming up
Corona Profiler will be getting a memory profiler feature that will let you see the total memory consumption per line of code. This will allow you to narrow down troublesome lines of code that may be leaking memory. If all goes well the update will be available within the next few days so all existing users will get it for free. The price will go up once we are done implementing this feature so please buy our quality product today!


Thank you for your support,
M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 317975[/import]

I’ve stumbled across your 2 apps today and i guess they could be very helpful (especially ultimote once it’s available for ios).

You do a great job! Keep it up!
And let us know for any discounts :smiley:

(and maybe refining some of the images :slight_smile: ) [import]uid: 13097 topic_id: 17975 reply_id: 68639[/import]

Thanks for your comments!
Ultimote is a source code distribution so you can compile it yourself for your iOS device. We decided to go this way because we expect to add features as soon as they are requested by the community and going through the app store would take too long.

As for the discounts, we have discounts available right now for both our products (ultimote and profiler). :smiley:

As for the images, yes we are working on the improving our graphic design. :smiley:

Thank you
M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68641[/import]

Whoops? I just saw Profiler1Dollar :wink:

Oh I actually tried to download Ultimote from http://www.mygamedevelopers.com/Corona-Ultimote.html, but the link isn’t clickable in Safari (actually I just realized it works with Firefox).

Something you might want to fix :slight_smile:

Let us know if there are any updates. I enjoy usefull tools as this! [import]uid: 13097 topic_id: 17975 reply_id: 68654[/import]

Works great on windows;) [import]uid: 86417 topic_id: 17975 reply_id: 68655[/import]

I purchased the Profiler. I noticed you’re using the module(…, package.seeall) as well as globals. Can you create a version that does not modify the global space? I have a globals checker that errors out when variables aren’t declared.

Update: Hmm maybe it’s a quick fix, I duplicated the undeclared vars on line 20 as locals. previousMemory, previousLineAll, etc and my errors went away [import]uid: 27183 topic_id: 17975 reply_id: 68656[/import]

Don,
We fixed the issue, sorry about the typo there. Where can I find this globals checker?
Thanks,
M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68658[/import]

Hi M.Y. Developers,

I don’t recall where I got the code from. But I integrated it into the Spriteloq API you can d/l here: http://www.loqheart.com/spriteloq/downloads/extras/spriteloq_libs.zip

check out loq_util:
http://www.loqheart.com/spriteloq/apidocs/files/loq_util-lua.html#Global_declaration_of_variables_before_usage

[import]uid: 27183 topic_id: 17975 reply_id: 68660[/import]

xxxfanta,
Thanks for letting us know about the safari issue. It is strange because everything seems to be working fine with safari v5.1
Did you have any problems getting the product?
Thanks,
M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68662[/import]

Thank you Don, this looks like a very useful tool! Are you having any more issues with Profiler?
-M.Y. Developers
[import]uid: 55057 topic_id: 17975 reply_id: 68663[/import]

Martin,
Thanks for your comments, you are our biggest fan! :o)
-M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68664[/import]

Well it seems to work as advertised, but the slowdown has an adverse effect on physics. So much so that I can’t play the game effectively when the profiler is running, so there are certain things I can’t profile. I don’t seem to have this problem with the lua pepperfish profiler.

Also when running for 60 seconds Corona seems to hang. At 10 seconds it’s fine. [import]uid: 27183 topic_id: 17975 reply_id: 68666[/import]

don,
Pepperfish only profiles functions, Corona Profiler profiles line by line to give you much finer results so the overhead is expected to be a more, however all lines are effected equally (including C functions such as physics) so the results are still valid. We will give the option for profiling only functions in our next update.
Thank you,
As for the hanging at 60 seconds issue, we tested the profiler for 60 seconds on our game Space Conquest (these are the profiler results posted on our website live demo) and everything seemed to work fine. Are you getting any errors messages?

M.Y. developers [import]uid: 55057 topic_id: 17975 reply_id: 68667[/import]

Sorry no error messages. After it hung once I didn’t attempt it again. I just set it to 10 seconds. I can try it again in a bit and report the results. [import]uid: 27183 topic_id: 17975 reply_id: 68671[/import]

Since saving and loading can take multiple full frames (and hopefully your game loop does not take an entire frame) it has to profile a lot more instructions so it may hang. We experienced this during game loading but the program always recovers given enough time, how long did you wait and what was going on in your program when it hung?
Thanks,
-M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68672[/import]

Hmm I just tried it again 3 times on three different levels. No hang ups this time. Tried it with delay. My game crash free as far as I know. But on rare occasions on device the game and device lock up. I wonder if there’s some race condition that the Profiler revealed.

*shrug* I don’t know. If I find anymore clues as to how to reproduce the hangup I’ll let you know. [import]uid: 27183 topic_id: 17975 reply_id: 68676[/import]

Don,
Yeah when you try to profile during game loading profiler overhead is significant. A delay is useful to bypass the loading stage to get to your main game loop. Hope you are finding the program useful so far.
-M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68677[/import]

Yeah the first time I tried it with delay so the loading wouldn’t affect the code I actually wanted to profile, but that’s when I had the hang up. [import]uid: 27183 topic_id: 17975 reply_id: 68681[/import]

Don,
Thanks for letting us know about the issue, we will look into it.
-M.Y. Developers [import]uid: 55057 topic_id: 17975 reply_id: 68766[/import]

The demo link sends “page not found” … [import]uid: 9328 topic_id: 17975 reply_id: 68774[/import]