Performance Profiler - A first attempt

Página 3/8
1 | 2 | | 4 | 5 | 6 | 7 | 8

Por Grauw

Ascended (10159)

imagem de Grauw

11-09-2019, 22:34

I started with that timeline view yesterday, it makes it really easy to see what is executing when and for how long. For example with the VDP commands entry on the timeline, it will be much easier for me to parallelise the CPU-VDP workload by just looking when the commands could best be executed. Where previously I had to mostly rely on a mental picture, guesses and rough measurements.

p.s. Also there was a little problem in the VDP command probe, but wouterv quickly fixed it today, so make sure to be updated to openMSX commit ae590392c9 if you want to use it.

Por spacemoai1973

Master (165)

imagem de spacemoai1973

18-02-2020, 01:04

Is the timeline chart in the latest version yet? It looks quite useful!

Por Grauw

Ascended (10159)

imagem de Grauw

25-02-2020, 02:25

Not yet! I made that new mode but then never took the time to properly finalise it Nishi.

Back on my radar now.

Por salutte

Master (137)

imagem de salutte

26-02-2020, 15:43

I was in need of some profiling tools, and I just saw this thread. Awesome, thanks Grauw!

Por salutte

Master (137)

imagem de salutte

26-02-2020, 16:46

Question about tcl.

I'm running the

profile::section_scope_bp frame 0xFD9F  # H.TIMI
profile_osd t

I'm getting a continuous "warning: Too many arguments.", but I have no idea to debug where this warning comes from.

I can use:

profile

without problems and I'm getting the text output.

Por wouter_

Champion (469)

imagem de wouter_

26-02-2020, 17:05

The problem is caused by the '# H.TIMI' comment, it's seen as 2 extra arguments for the 'profile::section_scope_bp' command. You can fix it by replacing '# H.TIMI' with ';# H.TIMI'.

'#' in Tcl acts different like in most other languages. Tcl has no special parsing rule for '#'. Instead it's as-if there is a proc with the name '#' that takes a variable number of arguments and that acts like a nop. So if you want to add a comment on the same line as another command, you first have to end that first command via ';'.

I know it's annoying, but that's how Tcl works Sad

Por salutte

Master (137)

imagem de salutte

26-02-2020, 19:50

THanks wouter_... but it still happens without the # H.TIMI :S

Por Manuel

Ascended (18252)

imagem de Manuel

26-02-2020, 20:48

Are you sure?

What does set $errorInfo output?

Por salutte

Master (137)

imagem de salutte

26-02-2020, 21:20

This seems to point to the right place:

> set $errorInfo
can't read "too many arguments.
while executing
"debug set_watchpoint read_mem -once [reg sp] {} {debug set_condition -once {} {::namespace inscope :Tonguerofile {section_end {frame}}}}"": no such variable

Por Grauw

Ascended (10159)

imagem de Grauw

26-02-2020, 22:04

Hey salutte, are you using a recent development build of openMSX? The section_scope_bp command relies on “run-once” breakpoints (-once) which was only introduced after the current openMSX 0.15.0 release. The same applies to section_irq_bp. The commands section_begin_bp and section_end_bp do work on openMSX 0.15.0.

Página 3/8
1 | 2 | | 4 | 5 | 6 | 7 | 8