summary refs log tree commit diff stats
path: root/results/scraper/fex/495
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/495')
-rw-r--r--results/scraper/fex/49536
1 files changed, 36 insertions, 0 deletions
diff --git a/results/scraper/fex/495 b/results/scraper/fex/495
new file mode 100644
index 000000000..5e7435ccc
--- /dev/null
+++ b/results/scraper/fex/495
@@ -0,0 +1,36 @@
+Offline Debugging & Performance Analysis tools
+Following up some discussions with @Sonicadvance1 

+

+## Exposed via FEXLoader

+### IR dumping to folder

+Rationale: We need the data for offline analysis

+- Add `--dump-ir=path/to/folder`?

+- Save like `<block guest addr>_<block hash>` to avoid collisions

+- Should dump both "IR" and "Mixed IR/Host Code"

+

+### Per-block support for multiblock in perf symbols

+Rationale: Superblocks can have 10s of blocks, it is important to attribute runtime to the hot ones

+- Export each sub-block as `<superblock main entry>-<basicblock entry>`?

+- Add it as a command line option, `--perf-metadata=none|basic|detailed`?

+

+### `GuestOp` IR op

+Rationale: We need to better track Guest - IR - Host relationships to spot optimization opportunities

+- Stores Guest Address, Guest opcode and Guest disassembly, allows us to better AB between Guest and IR

+- Exposed via `--ir-debug-metadata`?

+

+## Add Offline IR compiler

+Rationale: Allow us to iterate over a specific block/superblock without having to relaunch the guest application

+- Should Accept IR as dumped by FEXLoader

+- Should be able to show "Mixed IR/Host Code"

+- Should be able to calculate basic metrics like "Instruction Blowup" and "Code Size Blowup"

+

+## Tighter perf integration / Perf Explorer

+Rationale: We tooling to help us find optimization opportunities and slowdowns, and to also test the "simulated" effects of WIP optimizations

+- Show perf data scaled by blowup or other metrics

+- Be able to take a perf trace + ir dump and calculate metrics like "average executed code per trace", and also break down by category like "memory", "vector" etc

+

+---

+

+I'd use these as command line utilities in an offline fashion myself. 

+

+@Sonicadvance1  @phire, thoughts?
\ No newline at end of file