triage Binary Ninja backend performance
- Dominant language
- Python
- Stars
- 6.2k
- Forks
- 726
- Avg merge
- 11d 11h
- Merged PRs (30d)
- 7
Description
as first described in this thread: https://github.com/mandiant/capa/pull/1343#issuecomment-1481713573
the Binary Ninja backend runs approximately 2x slower than the vivisect backend, at least during testing in CI/CD. we should investigate why this is the case (I'd expect BN to probably be faster, even if it's doing much more work, since it's implemented in C++/native code).
There's a theory that maybe PDB download and handling is holding up analysis. So, consider this angle. In any case, the first step should be profiling and gathering data that we can use to pinpoint how CPU/memory is being spent.
Contributor guide
Research direction
Start with the linked pull request comment and compare the Binary Ninja and vivisect backends during CI/CD testing. Profile CPU and memory use, including the possible PDB download and handling path, and document data that identifies the source of the slowdown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance, reverse-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100