Currently, the language server only caches the AST and list of Slice files (given to it by slicec).
Very often we perform transformations on these things (transforming paths, gathering lists of elements, etc.),
but we do these transformations on-the-fly every time we need them.
It would be better to perform these once, then cache the results.
These cached values only need to be updated when:
1) A user saves a file
2) A user changes a configuration setting
Both of these cases already trigger a full re-compilation anyways.
Currently, the language server only caches the AST and list of Slice files (given to it by
slicec
). Very often we perform transformations on these things (transforming paths, gathering lists of elements, etc.), but we do these transformations on-the-fly every time we need them.It would be better to perform these once, then cache the results. These cached values only need to be updated when: 1) A user saves a file 2) A user changes a configuration setting
Both of these cases already trigger a full re-compilation anyways.