WARNING: This project is no longer maintained!
For performance testing, give XCode's Instruments a try - a very good tool IMHO.
⊛ ARPerformanceScout ⊛ is a slim tool for discovering Objective-C performance bottlenecks.
- Determine if a piece of code is blocking the UI.
- Test performance when code execution jumps from one thread to another.
- Experiment with multi-threaded programming.
Warning
This tool is in the very early stages of the development, so things will break and do random crazy stuff. Still trying to get the API right and then push it in a single direction. If you have any ideas, opinions or rants I'd love to hear them!
How to get started
- Download ARPerfomanceScout and try out the examples
- Read this documentation
Usage
﹆ Blocking a threadWhen in doubt if a method is blocking the UI or not, callingARpS_blockThread() makes it obvious very quickly.
|
﹆ Measuring running timeTo find out how many seconds a block of code takes to run, useARpS_measure().
≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌ ⊛ ARPerformanceScout ⊛ ✔ Measured: 2.512919s ≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌ |
﹆ Timing eventsWhen two pieces of code from very different parts of the app need to be timed, `ARpS_startTimer()` and `ARpS_stopTimerAndLog()` can help.
|
Caveats
-
ARpSuses a block-based API so one should be careful about retain-cycles (the weakSelf code-snippet is a good friend to have.) -
ARpS_measure()will only take into account work being done on the thread it's called -
ARpS_startTimer()andARpS_stopTimerAndLog()don't work well (YET) when called on separate threads -
XCode's Time Profileris a more precise tool for performance bottleneck discovery.ARPerformanceScoutis intended to be used with very short iteration cycles and as a guide only
Contact
Claudiu-Vlad Ursache
Artsy
License
ARPerformanceScout is available under the MIT license. See the LICENSE file for more info.
