Skip to content
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

Enhancement: Use real-time GC, real-time memory allocator, etc. (for games, embedded, etc.) #529

Open
dumblob opened this issue Nov 25, 2016 · 1 comment

Comments

@dumblob
Copy link

dumblob commented Nov 25, 2016

Currently it seems the garbage collector is very fast, but still very minimal. When presenting Dao (e.g. at OpenAlt 2015, OpenAlt 2016, on the internet, and personally) I got repeatedly asked about real time capabilities of Dao (because the very minimalistic nature of Dao attracted many embedded and game developers). My answer usually boiled down to a garbage collector, which is in case od Dao more or less predictable with reasonably small stops, but still not built with real time in mind.

Now I noticed that PUC Lua newly uses a "real-time non-copying garbage collection" initially published in ftp://ftp.cs.utexas.edu/pub/garbage/GC93/wilson.ps and later developed further (e.g. https://pdfs.semanticscholar.org/fafe/93e4fc99b4003adbbcdbfa4a1db2061f8e3f.pdf ).

Could we add some benchmarks of the garbage collector under high pressure to find statistical boundaries of it's capabilities to determine which systems will be affected by garbage collection and which not? In case the results won't be that good, we might try to adopt some ideas from the real-time garbage collectors (as the linked ones do not support multithreading).

I also found another quite mature attempt to make a highly efficient garbage collector nobody reviewed and tested. It might be worth taking a look at the ideas. Quad-Color Optimized Incremental Generational Mark & Sweep

@dumblob dumblob changed the title Enhancement: use hard real-time garbage collector (useful for games, embedded, etc.) Enhancement: Use real-time GC, real-time memory allocator, etc. (for games, embedded, etc.) Feb 22, 2017
@dumblob
Copy link
Author

dumblob commented Feb 22, 2017

There is a good real-time memory allocator available on http://www.gii.upv.es/tlsf/ (see a brief comparison to some other allocators). It's GPL licensed, but the research papers are all available on the same web page.

@daokoder this might be interesting for the robotics you're doing or planning to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant