| 21 Nov 2025 |
Qyriad | yeah but you can optimize hot shapes | 21:22:56 |
Sergei Zimmerman (xokdvium) | Yeah. I think python has slots for this kind of thing | 21:23:13 |
Sergei Zimmerman (xokdvium) | * Yeah. I think python has __slots__ for this kind of thing | 21:23:28 |
mzero | do you have something I could read about that? I'm curious how it would work. | 21:25:02 |
Sergei Zimmerman (xokdvium) | Probably staring at prior art in V8? I haven't done that myself, but I'd be curious how they do tracing to find hot shapes | 21:26:04 |
Sergei Zimmerman (xokdvium) | All of those optimizations are pretty inaccessible without tracing infra :( | 21:27:26 |
Sergei Zimmerman (xokdvium) | But tracing attrset shapes doesn't exactly depend on function call tracing. Computing a shape fingerprint and having a small hashmap of that could give a rough picture of the frequency. | 21:29:23 |
Sergei Zimmerman (xokdvium) | So maybe only do this for attrsets smaller than N, compute a hash of symbol table ids, store it a fixed-sized map and count frequency that way. This shouldn't have much of an overhead | 21:30:50 |
John Ericson | yeah that is in a bitrotted PR | 21:39:29 |
| 22 Nov 2025 |
helle (just a stray cat girl) | glares at lix/nix/prefetch.cc +118 | 11:47:29 |
helle (just a stray cat girl) | erm, why are we making a presumption there, that uh, is not actually also made by nixpkg's fetchzip (which does have stripRoot as an active choice), this with certain use cases, like what npins does, makes it impossible to compute the right hash with it | 11:48:57 |
helle (just a stray cat girl) | (anyway, I don't think it is worth a fix, because of well, yeah) | 12:06:43 |
| adam joined the room. | 17:06:37 |