-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Implement a low latency, incremental garbage collector #8543
Comments
Could you please reopen this issue? |
true |
Thanks for reopening. Do you have a test case? Otherwise I will write one. |
This issue strikes me as too vague to be useful. All other things being equal, of course we want our GC to be low latency (which essentially implies incremental). |
But I guess it's satisfying to have an issue to close when merging a new GC. |
I wrote a little test script: First of all I want to say, that the new garbage collector performs MUCH better than the old one. Nevertheless: To run the test script type: |
The good performance of the new garbage collector is not yet mentioned in the file "News.md". What about adding a line in the section Library Improvements -> Other improvements like: |
But perhaps the issue #5227 should be renamed to "WIP: Implement generational garbage collector." to avoid confusion. |
Yes, we should mention the improved GC in NEWS.md. |
There is a bounty for fixing this issue available: |
Why did you add the wont't fix label? Would also be useful for the new audio packages. |
Better GC -> Realtime or bust! |
I'm not sure why @vtjnash added the "won't fix" label. As I've said before though, having this issue around isn't really helpful. Everyone always wants better, faster GC – and no core dev is about to forget that. The bounty is similarly pointless and offers an insultingly small amount of money for something that has literally cost tens of millions of dollars to achieve in other systems. |
For applications like games, real-time flight simulators, audio processing and controller prototypes the time that the current garbage collector blocks the application is too long.
Therefore an incremental garbage collector should be implemented, with the option to specify an upper time limit for each call.
For more details see:
https://groups.google.com/forum/?fromgroups=#!topic/julia-users/9T89qzC2qJo
and:
#5227
The language Lua is using an incremental garbage collector since version 5.1. Some results how it performs in realtime control applications are shown in:
https://lwn.net/images/conf/rtlws-2011/proc/Klotzbuecher.pdf
The text was updated successfully, but these errors were encountered: