box# perf record -e cpu-cycles --call-graph dwarf -F 5000 -t 12
^C[ perf record: Woken up 2849 times to write data ]
[ perf record: Captured and wrote 712.438 MB perf.data (88413 samples) ]
这是在Qemu TCG JIT发出的生成代码中花费的所有时间(这是标记为“ [perf-8.map]”的节段)。您希望本节很大,因为这意味着Qemu花费了大部分时间来执行访客代码,而不是执行其他事情,例如代码翻译或内存速度慢路径。
如果您想查看有关生成代码内部发生的事情的更多信息,则QEMU可以支持从其JIT中发出perf Tooling可以使用的信息: