!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

410 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.137 Servers

Load older messages


SenderMessageTime
21 Nov 2025
@hexa:lossy.networkhexa--http3? 😄 14:18:34
@raitobezarius:matrix.orgraitobezariusnormally, --no-http2 should be effective except if your deployment tool just silently ignores nix options14:46:10
@raitobezarius:matrix.orgraitobezarius(or i just redo the upgrade until it passes)14:46:20
@helle:tacobelllabs.nethelle (just a stray cat girl)eeeh, ended up with substitue = false and prefetching the one file I needed that was failing with curl and a local nixpkgs pointed at that (trying to find the cache entry for it I was not in the mood for)15:02:12
@Ericson2314:matrix.orgJohn EricsonI did that too17:10:17
@Ericson2314:matrix.orgJohn Ericsonsplit libcmd into store layer and not store layer parts17:10:40
@isabel:isabelroses.comisabel changed their profile picture.18:13:57
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to pinghttps://gerrit.lix.systems/c/lix/+/4605 its merged 🎉 18:34:13
@raitobezarius:matrix.orgraitobezariusI looked and I may have missed it but I still see special cases in libcmd on master.18:41:27
@mzero:matrix.orgmzero joined the room.20:37:43
@mzero:matrix.orgmzerodid the special casing for small lists get removed? there are still comments that refer to it, but I'm not seeing it in the code (though I could just be missing it)20:54:15
@raitobezarius:matrix.orgraitobezariusremoved, indeed20:54:40
@raitobezarius:matrix.orgraitobezariusdid you notice something problematic for small lists?20:54:48
@mzero:matrix.orgmzerono, I was just looking at the string changes in the release notes and noticed it. is there any perforce impact from it? I assume lists with exactly 2 elems aren't that common, but I'm still curious.20:59:59
@raitobezarius:matrix.orgraitobezariusAFAIK, this optimization is noise when we looked21:07:47
@raitobezarius:matrix.orgraitobezariusLists with 2 elems are usually pairs in Nixlang21:07:58
@raitobezarius:matrix.orgraitobezariusUnnamed pairs21:08:07
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)I did research a bit the distribution of list sizes when evaling nixpkgs. Small lists are quite often used, but lists just pale in comparison with attrsets overall21:17:12
@mzero:matrix.orgmzeroname value pairs are so common because of listToAttrs, etc, I wonder if a pair type would actually make a significant perf difference21:19:00
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)A more generic approach could be to have "attrset shapes". Very similar to how v8 optimizes classes with the same layout21:20:09
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Then names wouldn't need to be stored in the attribute set and function calls could reuse the same memory and not copy anything to a new Env. (I and Robert Hensing discussed this a bit at some point)21:21:57
@qyriad:katesiria.orgQyriad
In reply to @xokdvium:matrix.org
A more generic approach could be to have "attrset shapes". Very similar to how v8 optimizes classes with the same layout
benefits of a JIT especially
21:22:04
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Not exactly tho. jit/memory layout are tangential somewhat21:22:32
@qyriad:katesiria.orgQyriad yeah but you can optimize hot shapes  21:22:56
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) Yeah. I think python has slots for this kind of thing 21:23:13
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) * Yeah. I think python has __slots__ for this kind of thing 21:23:28
@mzero:matrix.orgmzerodo you have something I could read about that? I'm curious how it would work.21:25:02
@xokdvium:matrix.orgSergei 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 shapes21:26:04
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)All of those optimizations are pretty inaccessible without tracing infra :(21:27:26
@xokdvium:matrix.orgSergei 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

Show newer messages


Back to Room ListRoom Version: 10