Instruments: Help me measure asymptotic complexity
| Originator: | rix.rob | ||
| Number: | rdar://18573645 | Date Originated: | 07-Oct-2014 05:23 PM |
| Status: | Open | Resolved: | |
| Product: | Developer Tools | Product Version: | Xcode-6.1 (6A1046a) |
| Classification: | Enhancement | Reproducible: | Always |
Summary: Measuring a program’s performance is only going to tell you about the performance of *that run*. It would be really great if Instruments and/or Xcode would help me measure how that performance relates to one or more variables; it’s not enough to see that an operation took x amount of time if that data lacks any context about how much work was done in that time. This could possibly be integrated into the benchmarking unit tests in XCTest, since it might be useful to tell if O(n) suddenly became closer to O(n^2) in something that’s expected to scale up quite a bit. But I’d primarily want this in Instruments as a tool to explore an algorithm I’m building. This is also a useful tool for narrowing down performance issues since correlating some variable with the interval & time profile could potentially highlight cases of e.g. resource contention that wouldn’t be immediately apparent on their own. Seeing that something is linear up until n = the number of cores and then spikes upwards, for example, is not going to be clear from looking at an individual data point, but is much clearer with the graph of them all. So: I’d love some way to change some variable n, or to infer n within Instruments, and to get graphs of time against n, and ideally (optional) time profiles at each sample of n. Pretty, pretty graphs. Steps to Reproduce: N/A Expected Results: N/A Actual Results: N/A Regression: N/A Notes: N/A
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!