You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the caching in the Language Server creates and destroys a lot of objects, in particular converting sidecar objects into cache objects, which is basically the same thing with a little decoration.
This object creation/deletion, isn't really needed and causes undue GC stress. We should refactor it to use the SideProtocol objects directly.
The text was updated successfully, but these errors were encountered:
Previously the caching in the Language Server created and destroyed a lot of
objects, in particular converting sidecar objects into cache objects, which is
basically the same thing with a little decoration. This object creation/deletion
isn't really needed and causes undue GC stress.
This commit:
* Changes the cache to use the Sidecar Protocol Objects directly which stops the
needless creation and destruction of objects
* Instead of adding the `origin` method to all cache objects, this commit uses
hashtable "buckets" to remember which sections and and origins objects should
be categorised as
* Removes the PuppetHelper.all_objects method as it needlessly yields yeilded
objects. Instead callers can use the cache directly
* Removes the cache_objects source file and tests
* Adds helpful frozen arrays in the cache class for valid sections and origins,
although this is not yet enforced
* Begins to change the providers to use the object cache as a parameter instead
of through the PuppetHelper module. This is easier for testing.
* Updates the completion, document_symbol and hover provider with the new cache
object types and method removals.
Currently the caching in the Language Server creates and destroys a lot of objects, in particular converting sidecar objects into cache objects, which is basically the same thing with a little decoration.
This object creation/deletion, isn't really needed and causes undue GC stress. We should refactor it to use the SideProtocol objects directly.
The text was updated successfully, but these errors were encountered: