-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve startup time of workers #85
Comments
A few imports in the library constitute most of the delay:
We should get major improvements regarding startup by:
Unfortunately, many libraries currently import all their stuff into a global package, so if we use anything from, say Regarding the runner, we will need to have a primed process ready that can handle the execution of the next pipeline. Ideally, we would also keep those processes alive and reset them after pipeline execution is done, so we don't have the startup delay again and again. |
@lars-reimann This is somewhat supported, as
I'll try something out for tomorrow, maybe something like that can be achieved. |
The library improvements are already in Safe-DS/Library#624. But that will only get us so far. It would be great if you could take a look. |
There's also a new release of the library now, containing your hash functions and your other improvements, as well as the lazy imports. |
Closes #85 ### Summary of Changes - Use a process pool to keep started processes waiting - The max. amount of pipeline processes is now set to `4`. - Reuse started processes. This should be correct, as the same pipeline process cannot be used by multiple pipelines at the same time. As the `metapath` is reset to remove the custom generated Safe-DS pipeline code, only global library imports (and settings) should remain. If this is a concern, `maxtasksperchild` can be set to `1`, in which case pipeline processes are not reused. - Reuse shared memory location for saving placeholders, if the memoization infrastructure has added such a location to the object being saved --------- Co-authored-by: megalinter-bot <129584137+megalinter-bot@users.noreply.github.com> Co-authored-by: Lars Reimann <mail@larsreimann.com>
🎉 This issue has been resolved in version 0.12.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
During evaluation, we observed delays ranging from 3s to 20s+ between a program message and the first values coming back, regardless of the size of the data. For better usability, this time should be reduced as much as possible, since this
The text was updated successfully, but these errors were encountered: