| 19 Jan 2026 |
infinisil | Although it looks like that wasn't part of my latest iteration :) | 16:48:54 |
infinisil | * Although it looks like that wasn't part of my latest iteration anyways :) | 16:49:00 |
infinisil | * Although it looks like that wasn't part of my latest iteration anymore :) | 16:49:04 |
Sergei Zimmerman (xokdvium) | In reply to @infinisil:matrix.org And in my PR I tried to create some automatic merge-into-a-single-attrs-if-both-sides-have-been-accessed thing, which was really complicated, but very necessary if you wanted it to be the standard // operator. By having an explicit primop opt-in, there's no need for this complexity, and it can always just be stored as two Values Wouldn’t it be more like a binary tree of Values of you chain multiple merges around? | 16:52:18 |
Sergei Zimmerman (xokdvium) | And one that’s arbitrarily deep | 16:52:40 |
infinisil | Yeah exactly | 16:52:45 |
infinisil | I don't think that's a problem if it's opt-in. You can decide how the tree-structure should look like with how you write Nix code | 16:53:37 |
Sergei Zimmerman (xokdvium) | Hm the stack usage is already unbounded, but that could make the situation even worse. I couldn’t really come up with a good algorithm for doing m-way merges with a binary tree that’s a bounded in stack usage | 16:54:20 |
Sergei Zimmerman (xokdvium) | That’s why I went with a linked list for the structural sharing PR (don’t know if you saw that or not) | 16:54:44 |
infinisil | (didn't see it) | 16:55:00 |
Sergei Zimmerman (xokdvium) | https://github.com/NixOS/nix/pull/13987
That reduced nixpkgs-metrics memory usage from 27 GB to ~ 20GB | 16:56:04 |
Sergei Zimmerman (xokdvium) | I really wanted to do a binary tree, but the on-demand m-way merge got a lot in the way | 16:56:47 |
Robert Hensing (roberth) | work sesh about to start btw. I'll join after/with some food | 16:59:20 |
Sergei Zimmerman (xokdvium) | In reply to @roberthensing:matrix.org work sesh about to start btw. I'll join after/with some food Can’t make it today. Would be very happy if you’ll had a chance to do one more pass on the ssh-ng:// coroutine perf fix in https://github.com/NixOS/nix/pull/14998 | 17:00:53 |
Sergei Zimmerman (xokdvium) | In reply to @roberthensing:matrix.org work sesh about to start btw. I'll join after/with some food * Can’t make it today. Would be very happy if you all had a chance to do one more pass on the ssh-ng:// coroutine perf fix in https://github.com/NixOS/nix/pull/14998 | 17:01:04 |
Eelco | left a comment | 17:22:38 |
Sergei Zimmerman (xokdvium) | In reply to @niksnut:matrix.org left a comment Addressed! Much simpler now | 20:33:09 |
| 20 Jan 2026 |
Sergei Zimmerman (xokdvium) | Exciting times: https://www.phoronix.com/news/Linux-Open-Tree-Namespace | 10:23:54 |
Mic92 | Not quiet sure how this would be used in Nix? | 11:42:35 |
John Ericson | I talked to that guy about better process spawning at one point | 21:01:51 |
John Ericson | Kinda analogous 😎 | 21:02:15 |
John Ericson | (he also worked on process fds) | 21:02:44 |
| @scr4mbl3:matrix.org left the room. | 23:54:33 |