| 13 Feb 2025 |
hexa | not sure if John Ericson knows anything else by now | 01:14:34 |
Mic92 | Okay will check for today | 01:15:01 |
Mic92 | I have machines with a lot of ram and core count but haven't seen that so far | 01:16:19 |
Mic92 | But maybe libc needs to flush if it gets to the pipe buffer limit regardless of a missing newline | 01:17:32 |
emily | I wouldn't rely on multiple processes writing into the same stream pipe. | 01:18:04 |
emily | that's just the wrong primitive and will never work fully reliably | 01:18:17 |
Mic92 | I can just add a lock around it | 01:18:27 |
Mic92 | We are not really limited by the speed to write to stdout | 01:18:48 |
Mic92 | On nixpkgs it's slow enough that I can almost read it | 01:19:06 |
John Ericson | Mic92: yeah everything is in the issue | 01:21:22 |
John Ericson | I know nothing that anyone else doesn't | 01:21:28 |
John Ericson | I do agree with emily that multiple pipes/sockets feels better than locking | 01:21:52 |
John Ericson | or are you sending everything back to the main process anyways, so it is in a good position to mux them? | 01:22:11 |
Mic92 | I would prefer it though since it makes it very easy to use. At least unless we identify this an actual performance bottleneck | 01:24:16 |
Mic92 | * I would prefer a single output though since it makes it very easy to use. At least unless we identify this an actual performance bottleneck | 01:24:32 |
Mic92 | I am thinking of all the other ci integrations that people build with it | 01:25:21 |
Mic92 | In reply to @Ericson2314:matrix.org or are you sending everything back to the main process anyways, so it is in a good position to mux them? I don't remember the details because this code already existed when I copied it out of hydra | 01:48:03 |
John Ericson | Mic92: My guess is the non-streaming version made the central process buffer everything and accumulate one big message | 01:48:44 |
John Ericson | but when we switched to streaming, each worker started writing down the pipe itself | 01:48:54 |
John Ericson | So I am gonna guess roughtly that means "easy mode" should be the old way, while "fast mode" should be the socket way | 01:49:32 |
Mic92 | I'll run perf on the version with the lock | 01:50:51 |
Mic92 | Libc already uses internal locks internally for buffered files | 01:55:39 |
John Ericson | OK, well as long as it works :) | 01:57:01 |
Mic92 | Nan is working on the nix-eval-jobs fix. | 04:10:06 |
Mic92 | hexa (signing key rotation when): John Ericson https://github.com/nix-community/nix-eval-jobs/pull/351 | 05:48:03 |
John Ericson | Mic92: Awesome! | 06:27:31 |
John Ericson | Let's give it a go! :) | 06:27:38 |
| irrelevancyisthygoal One Confused Being joined the room. | 08:12:31 |
hexa | updating nix-eval-jobs | 10:05:27 |
| @mrdgh2821:matrix.org joined the room. | 10:40:44 |