Skip to content

[optimization] avoid running symbol indexing and cache write for empty affected files array #1124

@martinlippert

Description

@martinlippert

When a file is changed, the symbol indexer updates the symbols, and index, diagnostics for this changed file. It also takes care of re-running the indexing on affected files (files that might be affected by a change in the file that we got the change notification from). This happens, for example, if a symbol of source file A.java contains information from B.java. When B.java changes, the symbol indexing etc. needs to re-run on A.java as well, even though the file A.java itself didn't change.

Unfortunately, even if there is no affected file around (which will be the case in the majority of cases), the machinery around this runs and the (unchanged) cache is being written to disc again. We should avoid that.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions