!VRULIdgoKmKPzJZzjj:nixos.org

Nix Package Manager development

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

You have reached the beginning of time (for this room).


SenderMessageTime
31 Jul 2025
@sammy:cherrykitten.devSammy (It/Its) left the room.10:11:40
29 Jul 2025
@Ericson2314:matrix.orgJohn Ericsonhttps://github.com/NixOS/nix/issues/13570 issue I am curious about14:58:08
@joerg:thalheim.ioMic92Left a comment.15:17:42
@Ericson2314:matrix.orgJohn Ericsonthanks!15:24:40
@Ericson2314:matrix.orgJohn Ericsondidn't think of that angle15:24:43
@Ericson2314:matrix.orgJohn Ericson Mic92: any idea where we would get a nice meaty real-world structured attrs derivation? 20:17:00
@Ericson2314:matrix.orgJohn EricsonI'll need that to test my PR20:17:26
@Ericson2314:matrix.orgJohn Ericsonnevermind20:35:30
@Ericson2314:matrix.orgJohn Ericson firefox.overrideAttrs (_: { __structuredAttrs = true; }) that works 20:35:44
@Ericson2314:matrix.orgJohn Ericsonoh nevermind i grepped wrong, it was already structured attrs!20:38:06
@Ericson2314:matrix.orgJohn Ericson Mic92 Sergei Zimmerman (xokdvium) OK yeah firefox parses 4 times slower 20:39:21
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @Ericson2314:matrix.org
Mic92 Sergei Zimmerman (xokdvium) OK yeah firefox parses 4 times slower
So doing the lazy thing is worth it certainly.
20:40:10
@Ericson2314:matrix.orgJohn EricsonOK!20:40:17
@Ericson2314:matrix.orgJohn Ericson Sergei Zimmerman (xokdvium): I wonder if I should use mutable since it is morally pure 20:41:03
@Ericson2314:matrix.orgJohn Ericson not good for concurrency const 20:41:13
@joerg:thalheim.ioMic92
In reply to @Ericson2314:matrix.org
Mic92: any idea where we would get a nice meaty real-world structured attrs derivation?
Anything in stdenv has to be parsed/generated multiple times. Bootstrapping in general takes most of the time in any eval flamegraph I have seen so far.
20:41:19
@Ericson2314:matrix.orgJohn Ericson but is good for "are we changing it?" const 20:41:21
@joerg:thalheim.ioMic92So this Code makes parsing 4x slower? https://github.com/NixOS/nix/commit/7f0ff4957e634de8aa2edb3cac5e79375c60514820:46:04
@joerg:thalheim.ioMic92Surprising because the throughput of our current parser is slower than what I expect a JSON parser to be able to pull off.20:47:48
@joerg:thalheim.ioMic92* Surprising because the throughput of our current derivation parser is slower than what I expect a JSON parser to be able to pull off.20:48:04
@Ericson2314:matrix.orgJohn Ericson Mic92: oh wait tbh I was doing unoptimized builds 20:51:13
@Ericson2314:matrix.orgJohn Ericsonthat doesn't mean much20:51:19
@Ericson2314:matrix.orgJohn EricsonI opened up https://github.com/NixOS/nix/issues/13573 regardless20:57:19
@Ericson2314:matrix.orgJohn Ericsonsince we can make GC faster by not parsing the entire derivation20:57:28
@Ericson2314:matrix.orgJohn Ericson

OK optimized before

BM_ParseRealDerivationFile/hello         6814 ns         6791 ns       104081 bytes_per_second=247.735Mi/s
BM_ParseRealDerivationFile/firefox      31529 ns        31420 ns        22281 bytes_per_second=486.429Mi/s
21:18:01
@Ericson2314:matrix.orgJohn Ericson
BM_ParseRealDerivationFile/hello         6952 ns         6929 ns       102364 bytes_per_second=242.772Mi/s
BM_ParseRealDerivationFile/firefox      71569 ns        71292 ns         9695 bytes_per_second=214.381Mi
21:18:27
@Ericson2314:matrix.orgJohn Ericsonoptimized after21:18:29
@Ericson2314:matrix.orgJohn Ericson4x to 2x21:18:39

Show newer messages


Back to Room ListRoom Version: 6