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
Usually there should be no need to clear the cache of the compilation server. However in case the user switch between many different projects and/or different defines (causing different cache contexts to be created) this could trigger a lot of memory to be allocated and never released. #5735 is one particular example of that
What should be done would be for each cached module / context store a "LastUsed" timestamp, then when we grow to a certain threshold of memory (measurable with Gc.quick_stat and to be configurable with a define) we could discard the contexts and modules that have not been used for a long time.
For the modules it's a bit more complex since it requires to discard as well all the dependencies TO it (recursively).
The text was updated successfully, but these errors were encountered:
Usually there should be no need to clear the cache of the compilation server. However in case the user switch between many different projects and/or different defines (causing different cache contexts to be created) this could trigger a lot of memory to be allocated and never released.
#5735 is one particular example of that
What should be done would be for each cached module / context store a "LastUsed" timestamp, then when we grow to a certain threshold of memory (measurable with
Gc.quick_stat
and to be configurable with a define) we could discard the contexts and modules that have not been used for a long time.For the modules it's a bit more complex since it requires to discard as well all the dependencies TO it (recursively).
The text was updated successfully, but these errors were encountered: