-
Notifications
You must be signed in to change notification settings - Fork 2
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
Performance plus gui input issue #150
Comments
Yes, performance is also a pretty high priority for me right now, although I don't expect to get to it in December due to the holidays.
It absolutely should be a float widget not int, that was just an oversight on my part. The problem is that I have not found a way for the ipywidgets to natively support |
I'm sure there is inefficiency in my canvas redraws, which could be improved by better use of events, but I suspect the biggest problem lies with ipywidgets (and my use of it). Apparently without explicitly calling |
Yeah, indeed, just monitoring The good news is, this gives an extremely concrete place to start working on the performance issues. |
There is still room for improvement, especially when opening the node controller for the bigger nodes, but as of #152 it's gone from "completely unusable" to "alright". Critically, I plugged a memory leak where working with the graph created more and more ipywidgets widgets in the background. The slowness that's left is at least constant in nature, and the example notebook is totally usable again. |
Thanks @liamhuber for the many improvements. It is particularly nice to have now nodes for the different calculators available. A few thoughts/issues below:
Responsiveness:
- Adding and working with nodes having many input ports feels (as you mentioned already) very slow. This makes it very hard and sometimes impossible to work, since one is never sure whether the doubleclick etc. worked or not.
- I had also the impression that commands like remove job takes much longer than when running pyiron directly
- Solving and improving this issue has for me highest priority. The present waiting times are too long for productive applications or to play around and test ironflow.
- A few ideas:
- I fully agree with using the features provided by ryven as suggest by you in the respective issue.
- It may be generally a good idea to show not all possible inputs in the graphic node representation but only the mandatory ones. The less important ones could be then set in the node input gui. If one needs a port to connect them to other nodes one should have an option to make them visible in the node.
GUI input issues:
- When working with the calc_md node I could not set the initial_temperature variable to None. I guess since the gui ipywidget element is an integer input it accepts only integer numbers, not None. The same applies e.g. for the pressure input. For these cases we may combine an integer input gui with a boolean flag (for None or integer).
The text was updated successfully, but these errors were encountered: