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
SpineOpt is written in Julia which is not a compiled language. Compilation of needed functions happens whenever you come across the function. That means that a lot of the time SpineOpt is precompiling which is perceived as slow by users.
There are ways to precompile your package but the current SpineOpt design does not allow us to do this on the developer side. There is a way that users can make a system image that effectively does the same thing. However, this is different for every system and as such the user needs to do this themselves.
@manuelma has written clear instructions for this which is certainly helpful. However, this may be a bit advanced for the average users. Therefore we may consider to make a Spine Toolbox plugin (or extend the spineopt plugin) where they can simply drag and drop the necessary tools. We would then also provide a tutorial on how to use this feature.
I've already experimented with the idea but I have not been able to make it work yet. Though I can show a picture of how it could look like:
First you would trace the processes that you want to precompile. Then you run a separate precompile tool. Finally, you can use SpineOpt with the compiled image. The first two steps you only need to do once. The third step you can do as many times as you need results. Though you may need to do the first two steps again if you have made significant changes to your database (e.g. you are using different features that have not yet been precompiled).
The text was updated successfully, but these errors were encountered:
SpineOpt is written in Julia which is not a compiled language. Compilation of needed functions happens whenever you come across the function. That means that a lot of the time SpineOpt is precompiling which is perceived as slow by users.
There are ways to precompile your package but the current SpineOpt design does not allow us to do this on the developer side. There is a way that users can make a system image that effectively does the same thing. However, this is different for every system and as such the user needs to do this themselves.
@manuelma has written clear instructions for this which is certainly helpful. However, this may be a bit advanced for the average users. Therefore we may consider to make a Spine Toolbox plugin (or extend the spineopt plugin) where they can simply drag and drop the necessary tools. We would then also provide a tutorial on how to use this feature.
I've already experimented with the idea but I have not been able to make it work yet. Though I can show a picture of how it could look like:
First you would trace the processes that you want to precompile. Then you run a separate precompile tool. Finally, you can use SpineOpt with the compiled image. The first two steps you only need to do once. The third step you can do as many times as you need results. Though you may need to do the first two steps again if you have made significant changes to your database (e.g. you are using different features that have not yet been precompiled).
The text was updated successfully, but these errors were encountered: