At Thu, 12 Sep 2019 19:20:08 -0400, Philip McGrath wrote:
> "Flonum unboxing: accept mismatch, for now" [...] I could imagine
> that this might not be what you're looking for, since it seems like
> it would be much more about creating garbage than collecting it per
> se

Yes, flonum unboxing entirely a compiler project.


Some things I'd like to have from the GC, but these are large projects:

 * GC implemented/generated in Scheme.

   A common problem with adding new things to the GC (including
   scalable object locking, ordered finalization, and vfasl saving) is
   repeating/copying the code that traverses objects. Each copy is a
   little different, and it's difficult to abstract over the variation
   and get good performance, especially in C. Implementing the GC
   itself in Scheme may be too tricky to be worthwhile, but generating
   a C implementation in Scheme might be the way to go. The pointer and
   object layouts in "cmacro.ss" is already a lot of the needed
   information.

 * Support for non-moving objects that are collected when unreferenced
   but not moved while referenced.

   Racket CS implements non-moving objects by locking objects and using
   a finalizer to unlock. Although I made changes to Chez Scheme so
   that object locking is more scalable, it would be nicer and likely
   perform better to have an allocation arena that is GCed but not
   compacted/moved.

 * Parallel GC

 * Incremental GC

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/5d7b998f.1c69fb81.8eca1.d680SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to