Vector35 / Vector35/binaryninja-api
Poor performance during phase 3 of linear sweep during control flow only analysis
@bdash is already working on this.
Since Oct 2, 2025.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Version and Platform (required):
- Binary Ninja Version: 5.2.8341-dev Ultimate, 86294f12
- OS: macos
- OS Version: 26.0
- CPU Architecture: arm64
Bug Description:
A user on Slack pointed out that when doing a control flow only analysis on pacific cosmos projects modularly, a very large percentage of time is spent in phase 3 of linear sweep. It ends up running 28 iterations before it converges, taking around 10 minutes.
Steps To Reproduce:
- Open with Options and set
analysis.modetocontrolFlow. - Wait.
Observed Behavior:
Using a stopwatch, I measured that it takes around 13 minutes for the initial analysis to complete. Phase 2.1 finishes after around 2.5 minutes. Phase 3.0 takes over 5 minutes. The subsequent subphases get faster as fewer new functions are discovered, but the "grouping basic blocks" step between each of them takes significant time. In total Phase 3 takes around 10 minutes.
Binary:
pacific cosmos projects modularly
Additional Information:
After analysis completes, the binary has ~718,000 functions and over 3 million basic blocks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.