Here's an idea that's half remembered and *maybe* a quarter understood. Chez boxes flonums. I thought I'd read something by Matthew talking about it in more detail, but I haven't been able to find it, though I do see that "Flonum unboxing: accept mismatch, for now" still appears in Fig. 3 (p. 78:6) of the recent ICFP experience report ( https://www.cs.utah.edu/plt/publications/icfp19-rddkmstz.pdf). My very vague recollection/understanding is that a big part of the issue is the way floats are stored by the GC (or, maybe more specifically, the allocator).
Aside from the fact that it might be hard, 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, and presumably there would be work to be done outside of the collector to take advantage of an unboxed representation. The potentially appealing part would be that I could imagine it having an appreciable and measurable impact on a certain class of programs. -Philip On Wed, Sep 11, 2019 at 11:20 AM Paulo Matos <[email protected]> wrote: > Hi, > > As part of my day job these days I am working on garbage collection. I > would like to understand better the GC that we use for RacketCS - the > one coming with ChezScheme. > Although coupled relatively tightly with the rest of the source, I found > it not too hard to distill an API for the GC and allocator and did so under > > https://github.com/LinkiTools/ChezScheme/commit/095c6a2ccf52ef1ae1c1e6cd1f83b0f043166018 > This will actually compile if you do ./configure --omegagc > > As a first step I read the BIBOP paper and I have been using the GC > Handbook for more than a good paper weight. > I was wondering if anyone has noticed some Racket apps or benchmarks > performing poorly due to reasons that might have to do with garbage > collection. If so, I kindly request you to let me know so I can have > some fun. Also, if you have a request for something new in the GC that I > can have some fun implementing, feel free to send that to me as well. :-) > > Thanks, > > Paulo Matos > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-dev/57b67daa-4eb7-d900-4fdf-317f5671e935%40linki.tools > . > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAH3z3gYAw4j7L1tjvpAdZsVYx6J%3DpR77nuA52tnqgz2AAcFrKA%40mail.gmail.com.
