![]() |
![]()
| ![]() |
![]()
NAMEhatari_profile - Post-processor for Hatari profiler data SYNOPSIShatari_profile.py [options] <datafiles> DESCRIPTIONA Python script to post-process data produced by Hatari profiler "save" commands, both for CPU and DSP: profile save <filename> dspprofile save <filename> It can provide function level (CPU and DSP) processor usage information for anything Hatari profiler records: instruction counts, processor cycles and depending on processor, also instruction cache misses or cycle differences. This information can be provided as ASCII list of heaviest functions, as callgraphs (if profile data includes caller information), or as callgrind format export which can be viewed in (Linux) Kcachegrind GUI. OPTIONSInvoking hatari_profile without arguments lists all of its options. USAGE EXAMPLESRegardless of whether profile data contains some symbol information, you should always give script all relevant debug symbols, otherwise costs might not get correctly assigned to symbols preceding those costs. This post-processes profile data for EmuTOS (ROM), with symbol file having fixed/absolute addresses (-a), shows statistics (-s) and top lists (-t), but limits list output to anything taking over 2% (-l 2) and includes "propagated" subroutine call costs (-p): ------------------------------------------------------------- $ hatari_profile.py -a etos1024k.sym -st -l 2 -p etos-boot.txt Hatari profile data processor Parsing absolute symbol address information from etos1024k.sym... WARNING: replacing '_os_header' at 0xe00000 with '__text' WARNING: replacing '_instruction_cache_kludge' at 0xe00660 with '_invalidate_instruction_cache' 1806 lines with 1187 code symbols/addresses parsed, 0 unknown. Parsing profile information from etos-boot.txt... 18900 lines processed with 531 functions. This creates GraphViz callgraph files (-g) and Kcachegrind callgrind data file (-k) from Bad Mood (Doom BSP viewer) profile. Symbols for the program are TEXT section relative (-r), calls to some interrupt routines in the program are ignored as they aren't real calls, callgraph nodes using over 2% are highlighted, and there are some options to limit and simplify the graph: ------------------------------------------------------------- $ hatari_profile.py -r bmsym.sym \ SEE ALSOhatari(1), gst2ascii(1), hconsole(1) hatariui(1) AUTHORWritten by Eero Tamminen <oak at helsinkinet fi>. LICENSEThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. NO WARRANTYThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|