3

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?

3
  • 1
    How big are these binaries? (Disk size and number of functions are the metrics I'm most interested in; you can find the latter in the functions window, Shift-F3). How big is the address space for these binaries? IDA doesn't report this directly, but you can compute it by pressing CTRL-S to bring up the Segments window, and then subtracting the final End value by the first Start value. Commented Jan 12, 2023 at 3:59
  • 1
    Which OS are you using? If it is Windows of any kind, did you try to disable antivirus software?
    – w s
    Commented Jan 14, 2023 at 12:12
  • ... and if Linux, are you running IDA natively. While I haven't had this magnitude of a performance impact, there could be some from running IDA in Wine. And if on Windows you may want to check for other resource hogs (MS Teams and other Electron-based apps are big contenders). Additionally you could use 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).
    – 0xC0000022L
    Commented Jan 17, 2023 at 10:21

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.