I recently put together a Benchmarking Tool that can test Corona ‘code snippets’ for these kinds of metrics:
- OPS - Raw (Operations Per Second). i.e. How many of some ‘thing’ can be done per-second?
- FPS - While doing some ‘thing’, what kind of min, max, and average sustained FPS is Corona capable of?
- MEM - How much main memory (not video mem) does it cost to execute or make some ‘thing’?
How To Help
I need your help to test this concept. Specifically I need you to help me run the benchmark(s) and to collect data.
I have prepared two Android builds of the tool:
- Build 833 (June 15 2012)
- Build 1142 (June 15 2013).
You’ve got the latest build of the benchmarks if they look like this:
If you have an Android device of any type and want to help, please do the following:
Step #1 - Download and install both versions of the app:
Note: Build 833 required a special binary for Kindle Fire Gen 1 and Nook Gen 1: Build 833 f1 (alternate link)
Step #2 - Run each app at least once. (Runs in about 8 minutes on a Nexus 7.)
Step #3 - When the app tries to send a report (to me) click on your preferred e-mail client and then click send.
Everyone who:
- Participates in this exercise,
- Runs both version 833 and 1142 on at least one device, AND
- Sends me the report for both runs,…
Will get $10 off any tool or template I sell here: RG Tools and Templates
I will e-mail all participants at the end of the study (July 2nd 2013) using BCC to protect your anonymity and privacy.
Origin Of This Idea
I wrote this because I am a performance geek and have always been fascinated by the above kinds of questions. I also wrote this because I wondered, “Hmm… CoronaLabs releases builds frequently. I wonder if there is a lot of performance change between releases?”
I tried twice in the past to make this tool with limited success, but this time (my third attempt) I have managed to balance the complexities of measuring, running, and writing individual benchmarks. I have also found some (what I consider clever) techniques for getting the measuring framework out of the way while running benchmarks.
Additional Notes
- When running the apps you may want to disable any automatic sleep and or screen saver apps/settings.
- Both apps will work forever, but will only attempt to collect data and send it until the end of July 01, 2013. i.e. The collection window closes in two weeks.
- The app has built-in crash detection. If for some reason the app crashes, run it again and the app will offer to send a crash report so I can figure out what when wrong.
- When the app is done, you will be presented with the results and can page through them by swiping your finger.
- When the collection period is complete I will produce a report and release it here for all participants to read and examine.
- Be aware, the results of this first series of runs may not be a perfect reflection of Corona and its performance. This is the ‘shake down’ run to find flaws in my process, collection methods, and analysis.
- Will I be selling this and or parts of it or otherwise providing the code from this tool? Yes. I have not ironed out exactly what will come out of this, but for sure I will release code and tools for everyday Corona SDK users so they can measure their own ‘snippets’ and answer the burning questions like: “Is this too slow?” and “Which way is better?”
More To Come
I will be posting to this thread again soon. I have already collected some data and will show you the kind of information that this app will produce.
Be Sure To Brag
You are encouraged to post your run times to this thread (see a few posts down for my Nexus 7 and soon to be updated Kindle Fire Gen 1 run times).
Thanks!
Ed M.
(aka The Roaming Gamer)

