I’m disassembling binaries in IDA Pro.
- It usually takes 15+ minutes just to pre-process/open one binary,
- Then another 20-30 min before IDA is fully done disassembling and finally becomes idle.
- Another 10+ mins to search for all string references.
- Further, something like BinDiff usually takes 50-60+ mins each time I run it when comparing 2 disassembled .i64 files.
What computer components are most important in these processes? Is it the CPU, RAM, storage/SSD, GPU, or some combo of those?
I have an i7-9750H (2.60GHz, up to 4.50GHz with Turbo Boost, 6 Cores, 12MB Cache), 16 GB 2666MHz DDR4, an M.2 PCIe-NVMe SSD, and NVIDIA GeForce GTX 1650 Max-Q 4GB.
I saw a similar question here (Is there a way to improve disassembler speed?), but I believe this is not a duplicate question because my binaries are much smaller and I’m still having these massive time delays. I’m wondering if any of these specific components could be holding me back and which would produce the highest throughout difference with regard to upgrading. Is it RAM size, RAM clock, CPU clock speed, CPU core count, CPU thread count, SSD read, write speed, or something else?
Shift-F3
). How big is the address space for these binaries? IDA doesn't report this directly, but you can compute it by pressingCTRL-S
to bring up the Segments window, and then subtracting the finalEnd
value by the firstStart
value.Image File Execution Options
to raise or lower CPU and I/O priority by process name (e.g. to favor IDA) or use a solution such as Process Lasso (although I think there is no gratis offer for it).