-
Notifications
You must be signed in to change notification settings - Fork 14
Use GC natively #301
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
Use GC natively #301
Conversation
@denniswittich Some quick thoughts:
|
By the way, if GC performance is important, consider |
@evnchn yes, good point. We might want to look into that since we do have a lot of long living objects after settings up most systems (and nicegui, rosys) |
Yes, especially since Python's GC is quadratic (at least more than linear) to the number of objects being processed, so the lower you can get the count the better things are. |
https://stackoverflow.com/a/33752634 Pypy, last time I checked, does not support running NiceGUI for some reason. We may consider to "make it work", since Pypy's GC does not "stop the world". We may have to find a better place than a closed PR's comment area to discuss GC stuff for RoSys/NiceGUI |
PyPy and NiceGUI is not going to work without a fight... And I'm fighting over at zauberzeug/nicegui#5159 💪🏻 |
@evnchn |
To clarify, opencv-python should be installable on PyPy but it's no good for the pipeline, taking a LONG time to install since there's no prebuilt wheel (at least that's what I think is the issue). After all it did install in some of my earlier testing but then there was some extra problem with numpy so I gave up. Note with zauberzeug/nicegui#5163 my goal is to make NiceGUI run on PyPy, and I care about nothing else (and that's a good thing both to reduce the scope and to ensure me, who don't have physical access to the robots, don't propose some bad code that crashes them on the field) Nevertheless, I would not necessarily promote dropping opencv in RoSys since OpenCV is good and has many examples online (meaning we can take inspiration when creating CV stuff) |
okay, I just saw that you removed it and expected it was incompatible. Thank you for clarifying. |
Motivation
Rosys based systems lagged once every minute when the gc.collect() was called.
Implementation
Remove the mechanism that removd the native gc and instead collected once every minute.
Progress