Speed Up Analysis by caching results

Usually only a fraction of the code is change in a commit/branch/pull request. I think the analysis of project can run faster if it reuses result of previous runs for source file which are not changed (similar to gradle build cache feature).

What do you think?