Skip to content

NullAway 0.12.11 much slower than previous versions #1327

@jeffrey-easyesi

Description

@jeffrey-easyesi

I've found that compared to previous versions, NullAway 0.12.11 is 2-4 times slower, and now takes more time than javac itself.

Compiling a large project we have takes:

  • 11s with no checks (-XepDisableAllChecks)
  • 18s with NullAway 0.12.10
  • 39s with NullAway 0.12.11

I found that most time is spent in org.checkerframework.nullaway.dataflow.analysis.ForwardAnalysisImpl.performAnalysis, which used to be called only once per method but now is called on every dereference. Since this is a whole-method analysis, the overall time to check a method is O(n^2) in its size.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions