MopeSWTP-SS21 / MopeSWTP

MIT License
1 stars 0 forks source link

As Modelica programmer, I can see the results of an error check or code completion request within a few seconds, so that I can use the features frequently without slowing down my workflow #24

Open CSchoel opened 3 years ago

CSchoel commented 3 years ago

The reason behind this user story is the behavior of the current Mo|E version for packages with a large number of classes. For example, repeatedly requesting code completion suggestions for Modelica.SIUnits - a package that contains close to 500 individual classes - can induce waiting times of over a full minute. This is unacceptable, especially because the Modelica.SIUnits package is a prime example of a package that is used extremely often and that is too large to memorize completely, i.e. a package that requires code completion.

I think we will need some form of caching here, because the OMC is quite slow when packages are fully reloaded and a reload is required, if the file contents have changed since the last check. However, considering the Modelica.SIUnits example it would suffice to load this package once and then keep the class names in memory in order to achieve subsecond response times.

But, as always, please remember the rules of optimization.