I would like to see this feature, but IMHO, this is a potential can of worms and I recommend deferring this feature to a later point in the development of Iannix.
I believe doing process performance-profiling portably within a multi-platform program like Iannix is one of those esoteric design issues that carries subtle gotchas. Native Instruments seem to have gotten it right in their dual-platform (Mac/Win) Reaktor. But because Max/MSP in their CPU utilization display only counts DSP loading and no control-rate functions, it is often in profound disagreement with the OS’es own profile tool (I’ve seen 200%-500% differences).
I think all of these variables are design factors in performance monitoring by a single process:
number of CPU cores
32bit / 64bit
whether high res counters are available, or whether you must depend on the default software tick-counter (some flavors of a given O/S only implement a subset of the API’s counters — think Win32 and the so-called “multimedia counter”).
the risk of your own measurements influencing the results (i.e., one’s own process loading the CPU)
access rights to performance counters on behalf of the process (e.g., as much as possible, I work under a low-privilege user logon, so programmatic privilege-elevation could be needed)
platform portability (Qt implements timers, but I don’t think Qt addresses process-profiling in their API — wouldn’t it be fabulous if I’m wrong!)
Despite all the buzzwords, I’m not a sysinternals guru and in this case I might be more like Chicken Little. So please take all of this with a pinch of salt.
Hi Guillaume, I do understand what you want. Taskmanager is not multiplatform — top is, well, sort of. Writing it initially is one thing, but maintaining all three platform versions of code over the long-term that will likely require you to get closer to the metal (i.e., calling native APIs) over the lifetime of Iannix is yet another (e.g., how different will the Windows-8 API be from the current Win32, for example).
It’s entirely possible, but it just a imposes a new level of complication you may not need at the moment. That said, I’d love to have it as I often invoke TaskMgr, Profiler, or Activity Monitor (when I can have pretty graphics, I stay away from the command line:–) to check up on Iannix’s overhead.
Yes Bob, I agree! I started working on it but it is too complex (numbers of CPU, no Qt-API…). That’s why I ask the community for some help!
However, I didn’t know that MaxMSP CPU usage wasn’t precise 🙂
What I want is the percentage that Windows (taskmanager), Linux and Mac OS X (with top command) report….