[hatari-devel] Opinions on Hatari profiler "user interface"?

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hatari's profiler has gotten quite a lot of functionality
and its help text in the debugger has gotten quite long:
> help profile
'profile' - profile CPU code
Usage:  profile <on|off|stats|counts|cycles|misses|symbols|callers|
addresses|save> [count|address|file]
        'on' & 'off' enable and disable profiling.  Data is collected
        until debugger is entered again at which point you get profiling
        statistics ('stats') summary.

        Then you can ask for list of the PC addresses, sorted either by
        execution 'counts', used 'cycles' or cache 'misses'. First can
        be limited just to named addresses with 'symbols'.  Optional
        count will limit how many items will be shown.

        'addresses' lists the profiled addresses in order, with the
        instructions (currently) residing at them.  By default this
        starts from the first executed instruction, or you can
        specify the starting address.

        'callers' shows (raw) caller information for addresses which
        had symbol(s) associated with them.

        Profile information can be saved with 'save'.

I hope people have by now had time to try this functionality,
hopefully also the recently added caller information tracking.

Do you have any opinions on how the profiler is used?  Is there
something that could be improved, or think that it would work
better in some other way?

For example, currently:

* profiler will track caller information if symbols are loaded, but that
  will slow down the emulation noticeably because it needs to do more work
  for each instruction.

* if one wants to do profiling, but doesn't want caller information
  tracking due to the slowdown, one needs to drop symbols before profiling,
  if symbols are loaded.  And if one wants to see symbol information when
  viewing disassembly that contains profiling data, symbols need to be
  re-loaded after profiling.

I'm wondering should I add some option/command for whether caller
information tracking is enabled or not?  Any opinions on this, and if
yes, what such new option/command should look like, if it's added?

	- Eero

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/