Menu

#476 Add profiling support

general
open
nobody
profiling (2)
new feature (Monitor)
2024-03-09
2024-03-09
No

I'd like to profile an application in my VICE Modern Debugger. Perhaps there is a way currently but I don't see it.
Ideally VICE would output profiling data to a socket. Client would read the data and process it accordingly.
The data could consists of:
Minimal (10 bytes)
- program counter register (execution address)
- elapsed ticks from start (time span)
Additional
- other registers

Basically for each executed 6502 command VICE would output data to that socket.

With minimal data client would be able to accurately create a profiling info for a given application.

Enabling this feature could be through settings just like binary remote monitor is. Optionally one could control enable/disable of profiling output through a binary remote monitor command, i.e. "Profiling Enabled=true|false".

This would be quite beneficial for people trying to figure out where their apps are slowest.

Discussion

  • gpz

    gpz - 2024-03-09

    There is a profiler in the monitor - only the binary interface is missing indeed.

    But yes, a simple interface that produces data that can be analyzed by an external tool would be nice, too

     
    • Miha Markič

      Miha Markič - 2024-03-09

      Hi, heh, this feature was introduced in 3.8? And yes, letting external tools get the binary data (in real time as bonus) would be greatly appreciated, even more so, because, as you say, most of the feature is already in place.

       
      • gpz

        gpz - 2024-03-09

        I thought about this before... produce data that is eg compatible with gprof (i did this before many years ago for some console libs - that was super easy actually).

        So many things to do.... :/

         

Log in to post a comment.