mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
Python script that prints the top N most executed functions in QEMU
using callgrind.
Syntax:
topN_callgrind.py [-h] [-n] <number of displayed top functions> -- \
<qemu executable> [<qemu executable options>] \
<target executable> [<target execurable options>]
[-h] - Print the script arguments help message.
[-n] - Specify the number of top functions to print.
- If this flag is not specified, the tool defaults to 25.
Example of usage:
topN_callgrind.py -n 20 -- qemu-arm coulomb_double-arm
Example Output:
No. Percentage Function Name Source File
---- --------- ------------------ ------------------------------
1 24.577% 0x00000000082db000 ???
2 20.467% float64_mul <qemu>/fpu/softfloat.c
3 14.720% float64_sub <qemu>/fpu/softfloat.c
4 13.864% float64_add <qemu>/fpu/softfloat.c
5 4.876% helper_mulsd <qemu>/target/i386/ops_sse.h
6 3.767% helper_subsd <qemu>/target/i386/ops_sse.h
7 3.549% helper_addsd <qemu>/target/i386/ops_sse.h
8 2.185% helper_ucomisd <qemu>/target/i386/ops_sse.h
9 1.667% helper_lookup_tb_ptr <qemu>/include/exec/tb-lookup.h
10 1.662% f64_compare <qemu>/fpu/softfloat.c
11 1.509% helper_lookup_tb_ptr <qemu>/accel/tcg/tcg-runtime.c
12 0.635% helper_lookup_tb_ptr <qemu>/include/exec/exec-all.h
13 0.616% float64_div <qemu>/fpu/softfloat.c
14 0.502% helper_pand_xmm <qemu>/target/i386/ops_sse.h
15 0.502% float64_mul <qemu>/include/fpu/softfloat.h
16 0.476% helper_lookup_tb_ptr <qemu>/target/i386/cpu.h
17 0.437% float64_compare_quiet <qemu>/fpu/softfloat.c
18 0.414% helper_pxor_xmm <qemu>/target/i386/ops_sse.h
19 0.353% round_to_int <qemu>/fpu/softfloat.c
20 0.347% helper_cc_compute_all <qemu>/target/i386/cc_helper.c
Signed-off-by: Ahmed Karaman <ahmedkhaledkaraman@gmail.com>
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Message-Id: <20200626164546.22102-3-ahmedkhaledkaraman@gmail.com>
|
||
|---|---|---|
| .. | ||
| coccinelle | ||
| coverity-scan | ||
| kvm | ||
| modules | ||
| oss-fuzz | ||
| performance | ||
| qapi | ||
| qemu-guest-agent | ||
| qemugdb | ||
| qmp | ||
| simplebench | ||
| tracetool | ||
| travis | ||
| analyse-9p-simpletrace.py | ||
| analyse-locks-simpletrace.py | ||
| analyze-inclusions | ||
| analyze-migration.py | ||
| archive-source.sh | ||
| checkpatch.pl | ||
| clean-header-guards.pl | ||
| clean-includes | ||
| cleanup-trace-events.pl | ||
| cocci-macro-file.h | ||
| coverity-model.c | ||
| create_config | ||
| decodetree.py | ||
| device-crash-test | ||
| disas-objdump.pl | ||
| dump-guest-memory.py | ||
| extract-vsssdk-headers | ||
| feature_to_c.sh | ||
| fix-multiline-comments.sh | ||
| gensyscalls.sh | ||
| get_maintainer.pl | ||
| git-submodule.sh | ||
| git.orderfile | ||
| hxtool | ||
| hxtool-conv.pl | ||
| kernel-doc | ||
| make-release | ||
| minikconf.py | ||
| qapi-gen.py | ||
| qemu-binfmt-conf.sh | ||
| qemu-gdb.py | ||
| qemu-trace-stap | ||
| refresh-pxe-roms.sh | ||
| render_block_graph.py | ||
| replay-dump.py | ||
| shaderinclude.pl | ||
| show-fixed-bugs.sh | ||
| signrom.py | ||
| simpletrace.py | ||
| switch-timer-api | ||
| tap-driver.pl | ||
| tap-merge.pl | ||
| texi2pod.pl | ||
| tracetool.py | ||
| update-linux-headers.sh | ||
| update-mips-syscall-args.sh | ||
| update-syscalltbl.sh | ||
| vmstate-static-checker.py | ||