#151837 - nczempin - Wed Mar 05, 2008 8:35 pm
To get acquainted with DS coding, I have started playing around with coding Game of Life and optimizing the hell out of it, along the lines of Abrash's Black Book, chapters 17 and 18.
Once I had a working program, the next step for optimization was, of course, getting the code profiled.
I couldn't find a Profiler for the DS, so I guessed I had to hand-profile with using a timer (incidentally, why is the clock() function not implemented in libnds?).
In the medium term, I would like to be able to instrument and profile my code, on an Emulator or on a DS. Surely this would be useful to others too.
So, has anybody spent any sizable number of brain cells on how to get a profiler running for DS homebrew? Call-graph would be a good start, but a by-instruction like VTune would be cool too. Perhaps the ARM7 can be coerced into checking on its brother somehow, as any performance optimization is perhaps likely to focus on the ARM9 code.
Once I had a working program, the next step for optimization was, of course, getting the code profiled.
I couldn't find a Profiler for the DS, so I guessed I had to hand-profile with using a timer (incidentally, why is the clock() function not implemented in libnds?).
In the medium term, I would like to be able to instrument and profile my code, on an Emulator or on a DS. Surely this would be useful to others too.
So, has anybody spent any sizable number of brain cells on how to get a profiler running for DS homebrew? Call-graph would be a good start, but a by-instruction like VTune would be cool too. Perhaps the ARM7 can be coerced into checking on its brother somehow, as any performance optimization is perhaps likely to focus on the ARM9 code.