!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

888 Members
For people hacking on the Nix package manager itself191 Servers

Load older messages


SenderMessageTime
28 Jul 2025
@Ericson2314:matrix.orgJohn Ericson I am not opposed to std::variant<json, string> as a kind of "parse on demand" data structure 14:14:54
@Ericson2314:matrix.orgJohn Ericsonbut it would be good to know whether there is actual a perf issue or not14:15:13
@Ericson2314:matrix.orgJohn EricsonI would think that when .drv is read, it is usually also built, so the parsing will happen anyways, eventually14:15:37
@Ericson2314:matrix.orgJohn Ericsonlikewise when drv is created in the evaluator, we'll have a json object, and end to serializing it, either way14:15:58
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Microbenchmarks with google/benchmark?14:16:08
@Ericson2314:matrix.orgJohn Ericsonwell my argument above is microbenchmarks would kinda miss the point14:16:42
@Ericson2314:matrix.orgJohn Ericsonyes, parsing does become more expensive14:16:48
@Ericson2314:matrix.orgJohn Ericsonbut other things become less expensive14:16:53
@Ericson2314:matrix.orgJohn Ericsonand it should be some O(drvs) thing either way14:17:06
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @Ericson2314:matrix.org
well my argument above is microbenchmarks would kinda miss the point
But that change would affect store derivation instantiations, right? Or is that not the case?
15:54:37
@Ericson2314:matrix.orgJohn Ericsonwhat do you mean by instantiations?16:05:59
@Ericson2314:matrix.orgJohn Ericsoncreating them in the evaluator?16:06:05
29 Jul 2025
@joerg:thalheim.ioMic92 John Ericson: Sergei Zimmerman (xokdvium) https://github.com/NixOS/nix/pull/13569 07:42:09
@joerg:thalheim.ioMic92Microbenchmarks for derivation parsing07:42:58
@Ericson2314:matrix.orgJohn Ericson thanks Mic92! 14:58:04
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

Show newer messages


Back to Room ListRoom Version: 6