!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

973 Members
For people hacking on the Nix package manager itself207 Servers

Load older messages


SenderMessageTime
7 Oct 2021
@andi:kack.itandi- Before diving into doing the change I had a thought yesterday while looking at related code: Any reason we don't implement Expr{Sub,Add,...} like we do for ExprNotOp etc? In the case of subtraction it could get rid of about 30k Symbol table looks, a few thousand new objects and execution wouldn't probably do a few less function calls. That would probably break overriding substraction by providing a __sub (or whatever) function in the current scope (if that even works right now). 14:58:58
@balsoft:balsoft.rubalsoft
In reply to @balsoft:balsoft.ru

E.g. two consequtive runs of nix-store --realise on the same derivation:

error: 1 dependencies of derivation '/nix/store/<...>-nixos-system-foo.drv' failed to build

And second one:

error: builder for '/nix/store/<...>-nginx.conf.drv' failed with exit code 1;
       last 10 log lines:
       >     }
       > }
       >
       > ==================== Summary ===================
       > Total issues:
       >     Unspecified: 0
       >     Low: 0
       >     Medium: 1
       >     High: 0
       >
       For full logs, run 'nix log /nix/store/<...>-nginx.conf.drv'.
error: 1 dependencies of derivation '/nix/store/<...>-unit-nginx.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/<...>-system-units.drv' failed to build
error: 1 dependencies of derivation '/nix/store/<...>-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/<...>-nixos-system-foo.drv' failed to build
Interestingly, I think it never happens once logs for the derivation were shown at least once
14:59:15
@andi:kack.itandi- * Before diving into doing the change I had a thought yesterday while looking at related code: Any reason we don't implement Expr{Sub,Add,...} like we do for ExprNotOp etc? In the case of subtraction it could get rid of about 30k Symbol table looks, a few thousand new objects (while building a NixOS test). And execution wouldn't probably do a few less function calls. That would probably break overriding substraction by providing a __sub (or whatever) function in the current scope (if that even works right now). 14:59:20
@balsoft:balsoft.rubalsoftI don't mind at all if this ends up in the release, but just wanted to note that it happens sometimes15:01:23
@baloo_:matrix.orgbaloo niksnut: any chance we could get a 2.3 release or merge this? https://github.com/NixOS/nixpkgs/pull/137197 I think it should fix the errors we're seeing on https://r13y.com 15:03:53
@niksnut:matrix.orgniksnutSure, I can do a release15:04:16
@niksnut:matrix.orgniksnut
In reply to @andi:kack.it
Before diving into doing the change I had a thought yesterday while looking at related code: Any reason we don't implement Expr{Sub,Add,...} like we do for ExprNotOp etc? In the case of subtraction it could get rid of about 30k Symbol table looks, a few thousand new objects (while building a NixOS test). And execution wouldn't probably do a few less function calls. That would probably break overriding substraction by providing a __sub (or whatever) function in the current scope (if that even works right now).
No, I think the reason it's implemented that way is because builtins.sub etc. already existed
15:14:19
@andi:kack.itandi-
In reply to @niksnut:matrix.org
No, I think the reason it's implemented that way is because builtins.sub etc. already existed

Would you see any downside to adding those implementations? I could have a go on the in one of the coming evenings.

I don't think that it will improve performance by a lot but I also haven't measured the time spent in those functions. I was just surprised that IIRC the sub primop was the most used one (by a few 10k) when I did eval a NixOS VM test.

15:16:49
@niksnut:matrix.orgniksnutThe only downside is that it's a bit more code15:17:36
@tomberek:matrix.orgtomberekmusl issue is related to: 499317415:19:43
@niksnut:matrix.orgniksnut
In reply to @niksnut:matrix.org
Sure, I can do a release
2.3.16 is up
15:36:21
@niksnut:matrix.orgniksnut
In reply to @tomberek:matrix.org
musl issue is related to: 4993174
Okay, we could revert that
15:37:09
@baloo_:matrix.orgbaloo niksnut: thank you so much! 15:54:59
@niksnut:matrix.orgniksnutI've created a 2.4-maintenance branch and a hydra jobset15:57:10
@niksnut:matrix.orgniksnutI'll do a rc1 release for testing15:57:19
@baloo_:matrix.orgbaloo@niksnut I've pushed the nix bump on https://github.com/NixOS/nixpkgs/pull/137197 Is that alright? or do you want to split in another PR?16:08:15
@baloo_:matrix.orgbalooit adds a nixos integration tests, that checks the nss preload works as expected16:08:55
@niksnut:matrix.orgniksnutmaybe it's better to add the test to nix rather than nixos16:09:43
@baloo_:matrix.orgbaloois there any qemu based test infrasture in nix?16:10:31
@baloo_:matrix.orgbaloo * is there any qemu based test infrastructure in nix?16:10:47
@baloo_:matrix.orgbaloobecause I really have no idea how to test this expect the way I implemented it with 2 vms16:11:18
@baloo_:matrix.orgbaloo(or two namespaces would work too)16:11:43
@niksnut:matrix.orgniksnutyes, we have several NixOS VM tests in the nix repo16:12:00
@niksnut:matrix.orgniksnutlike tests.githubFlakes16:12:20
@niksnut:matrix.orgniksnutthe question is really whether this test serves more as a regression test for nix or for nixos16:12:46
@niksnut:matrix.orgniksnutif this is something that can break in nix, the test should be in the nix repo ideally16:13:06
@baloo_:matrix.orgbaloothis is definitely better suited in nix itself16:13:24
@niksnut:matrix.orgniksnutexample: https://github.com/NixOS/nix/blob/master/tests/remote-builds.nix16:13:47
@baloo_:matrix.orgbalooha, I was still on the 2.3 branch ><16:15:09
@baloo_:matrix.orgbaloohttps://github.com/NixOS/nixpkgs/pull/140868 for the nix2.3 bump16:20:42

Show newer messages


Back to Room ListRoom Version: 6