How is performance of Phan? Nested looping checks in phase 2 scans sound intensive and bottleneck-ish.
That being said, you should take a look at the '-s' flag for saving state to a sqlite database. After the initial run the stored state can be used to only scan changed files. For a patch with a few files changed it should be about 0.5s to run the analysis.