!VRULIdgoKmKPzJZzjj:nixos.org

Nix Package Manager development

878 Members
For people hacking on Nix: https://github.com/NixOS/nix Nix maintainers can be reached here.185 Servers

Load older messages


SenderMessageTime
19 Jan 2026
@infinisil:matrix.orginfinisilAlthough it looks like that wasn't part of my latest iteration :)16:48:54
@infinisil:matrix.orginfinisil* Although it looks like that wasn't part of my latest iteration anyways :)16:49:00
@infinisil:matrix.orginfinisil* Although it looks like that wasn't part of my latest iteration anymore :)16:49:04
@xokdvium:matrix.orgSergei 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
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)And one that’s arbitrarily deep16:52:40
@infinisil:matrix.orginfinisilYeah exactly16:52:45
@infinisil:matrix.orginfinisilI 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 code16:53:37
@xokdvium:matrix.orgSergei 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 usage16:54:20
@xokdvium:matrix.orgSergei 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:matrix.orginfinisil(didn't see it)16:55:00
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)

https://github.com/NixOS/nix/pull/13987

That reduced nixpkgs-metrics memory usage from 27 GB to ~ 20GB

16:56:04
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)I really wanted to do a binary tree, but the on-demand m-way merge got a lot in the way16:56:47
@roberthensing:matrix.orgRobert Hensing (roberth)work sesh about to start btw. I'll join after/with some food16:59:20
@xokdvium:matrix.orgSergei 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
@xokdvium:matrix.orgSergei 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
@niksnut:matrix.orgEelcoleft a comment17:22:38
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @niksnut:matrix.org
left a comment
Addressed! Much simpler now
20:33:09
20 Jan 2026
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Exciting times: https://www.phoronix.com/news/Linux-Open-Tree-Namespace10:23:54
@joerg:thalheim.ioMic92Not quiet sure how this would be used in Nix?11:42:35
@Ericson2314:matrix.orgJohn EricsonI talked to that guy about better process spawning at one point 21:01:51
@Ericson2314:matrix.orgJohn EricsonKinda analogous 😎21:02:15
@Ericson2314:matrix.orgJohn Ericson(he also worked on process fds)21:02:44
@scr4mbl3:matrix.org@scr4mbl3:matrix.org left the room.23:54:33

There are no newer messages yet.


Back to Room ListRoom Version: 6