PerfCount
Jeffrey Lee (213) 6048 posts |
As teased a while ago, I’ve been working on a module to provide easy access to the performance counters that are present on most/all ARMv5+ CPUs. This should help programmers to measure and tune the performance of their code (e.g. I made heavy use of an early version of the module when working on NBlood’s vertical line routines) The first version of PerfCount is now available at http://www.phlamethrower.co.uk/riscos/perfcount.php Features:
Feedback welcome! |
Martin Avison (27) 1491 posts |
It runs on my Titanium, and WimpPerf produces results. I am not (yet) sure what it all means! One question about WimpPerf – it includes lines |
Jeffrey Lee (213) 6048 posts |
That was just a hack to convert a buffer containing a null terminated string into a BASIC string. I suppose I should have taken a closer look at that test code before deciding to release it as an example! |
Steve Fryatt (216) 2103 posts |
I think it’s doing the old
trick, to take task names from the block returned by TaskManager_EnumerateTasks and place them into the I guess the assumption is that in BASIC, where you’d expect interrupts to be on, OS_IntOn is assumed to be a SWI with no effect – which allows the |
Julie Stamp (8365) 474 posts |
Looking at WimpPerf, how is it that lots of task have BUS_ACCESS but no CPU_CYCLES? Is this the Wimp paging in a task to get some data from it, but not giving it control? But the denominator for the other events is CPU_CYCLES, so how can BUS_ACCESS have been monitored for &23B4 cycles say, without that showing up in CPU_CYCLES? |