Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

wingolog

wingolog
ephemerons vs generations in whippet Happy new year, hackfolk! Today, a note about . I thought I was done with them, but it seems they...
a month ago
47
a month ago
Happy new year, hackfolk! Today, a note about . I thought I was done with them, but it seems they are not done with me. The question at hand is, how do we efficiently and correctly implement ephemerons in a generational collector? ‘s answer turns out to be simple but...
wingolog
here we go again Good evening, fey readers. Tonight, a note on human rights and human wrongs. I am in my...
a month ago
39
a month ago
Good evening, fey readers. Tonight, a note on human rights and human wrongs. I am in my mid-fourties, and so I have seen some garbage governments in my time; one of the worst was Trump’s election in 2016. My heart ached in so many ways, but most of all for immigrants in the US....
wingolog
an annoying failure mode of copying nurseries I just found a funny failure mode in the garbage collector and thought readers might be...
a month ago
32
a month ago
I just found a funny failure mode in the garbage collector and thought readers might be amused.Whippet Say you have a semi-space nursery and a semi-space old generation. Both are block-structured. You are allocating live data, say, a long linked list. Allocation fills the...
wingolog
preliminary notes on a nofl field-logging barrier When you have a generational collector, you aim to trace only the part of the object graph that has...
4 months ago
21
4 months ago
When you have a generational collector, you aim to trace only the part of the object graph that has been allocated recently. To do so, you need to keep a : a set of old-to-new edges, used as roots when performing a minor collection. A language run-time maintains this set...
wingolog
baffled by generational garbage collection Usually in this space I like to share interesting things that I find out; you might call it a...
a week ago
15
a week ago
Usually in this space I like to share interesting things that I find out; you might call it a research-epistle-publish loop. Today, though, I come not with answers, but with questions, or rather one question, but with fractal surface area: what is the value proposition...
wingolog
needed-bits optimizations in guile Hey all, I had a fun bug this week and want to share it with you. First, though, some background. ...
4 months ago
15
4 months ago
Hey all, I had a fun bug this week and want to share it with you. First, though, some background. Guile’s numeric operations are defined over the complex numbers, not over e.g. a finite field of integers. This is generally great when writing an algorithm, because you don’t have...
wingolog
whippet update: faster evacuation, eager sweeping of empty blocks Good evening. Tonight, notes on things I have learned recently while hacking on the .Whippet...
5 months ago
14
5 months ago
Good evening. Tonight, notes on things I have learned recently while hacking on the .Whippet GC library For some time now, the name Whippet has referred to three things. Firstly, it is the , consisting of an include-only garbage collection library containing a compile-time...
wingolog
conservative gc can be faster than precise gc Should your garbage collector be precise or conservative? The prevailing wisdom is that precise is...
5 months ago
14
5 months ago
Should your garbage collector be precise or conservative? The prevailing wisdom is that precise is always better. Conservative GC can retain more objects than strictly necessary, making GC slow: GC has to more frequently, and it has to trace a larger heap on each...
wingolog
javascript weakmaps should be iterable Good evening. Tonight, a brief position statement: it is a mistake for JavaScript’s to not be...
6 months ago
12
6 months ago
Good evening. Tonight, a brief position statement: it is a mistake for JavaScript’s to not be iterable, and we should fix it.WeakMap A associates a key with a value, as long as the key is otherwise reachable in a program. (It is an .)WeakMapephemeron table When was added to...
wingolog
fedi is for losers Does the have a vibe? I think that yes, there’s a flave, and with reason: we have things in...
4 months ago
12
4 months ago
Does the have a vibe? I think that yes, there’s a flave, and with reason: we have things in common. We all left Twitter, or refused to join in the first place. Many of us are technologists or tech-adjacent, but generally not startuppy. There is a pervasive do-it-yourself...
wingolog
whippet progress update: feature-complete! Greetings, gentle readers. Today, an update on recent progress in the embeddable...
5 months ago
12
5 months ago
Greetings, gentle readers. Today, an update on recent progress in the embeddable garbage collection library.Whippet When I started working on Whippet, two and a half years ago already, I was aiming to make a new garbage collector for . In the beginning I was just focussing on...
wingolog
whippet progress update: funding, features, future Greets greets! Today, an update on recent progress in , including sponsorship, a new collector, and...
7 months ago
11
7 months ago
Greets greets! Today, an update on recent progress in , including sponsorship, a new collector, and a new feature.Whippet But first, a reminder of what the haps: Whippet is a garbage collector library. The target audience is language run-time authors, particularly “small”...
wingolog
finalizers, guardians, phantom references, et cetera Consider . Compared to finalizers, in which the , guardians allow the mutator to control...
7 months ago
11
7 months ago
Consider . Compared to finalizers, in which the , guardians allow the mutator to control concurrency. See for more notes. Java’s / seems to be similar in spirit, though the details differ.guardianscleanup procedures are run concurrently with the mutator, by the...
wingolog
whippet at fosdem Hey all, the video of my is up:FOSDEM talk on Whippet Slides , if that’s your thing.here I ended...
a week ago
9
a week ago
Hey all, the video of my is up:FOSDEM talk on Whippet Slides , if that’s your thing.here I ended the talk with some puzzling results around generational collection, which prompted . I don’t have a firm answer yet. Or rather, perhaps for the splay benchmark, it is to be expected...
wingolog
on taking advantage of ragged stops Many years ago I read one of those Cliff Click “here’s what I learned” articles in which he was...
5 months ago
9
5 months ago
Many years ago I read one of those Cliff Click “here’s what I learned” articles in which he was giving advice about garbage collector design, and one of the recommendations was that at a GC pause, running mutator threads should cooperate with the collector by identifying roots...
wingolog
tracepoints: gnarly but worth it Hey all, quick post today to mention that I added tracing support to the . If the support library...
a week ago
7
a week ago
Hey all, quick post today to mention that I added tracing support to the . If the support library for is available when Whippet is compiled, Whippet embedders can visualize the GC process. Like this!Whippet GC libraryLTTng Click above for a full-scale screenshot of the trace...