!yxFWYdmeLrdzdoIrcE:maralorn.de

nix-output-monitor

98 Members
https://github.com/maralorn/nix-output-monitor32 Servers

Load older messages


SenderMessageTime
25 Nov 2024
@luxus:beeper.comluxus joined the room.18:06:43
26 Nov 2024
@picnoir:alternativebit.frPicnoir Ok, I spent a little bit more time digging into this memoization issue yesterday. I sadly still don't understand how we're bursting it. The print state TMVar is not updated unless we had a user interaction, in which case it'd mean we do have to compute writeStateToScreen again. 08:48:30
@picnoir:alternativebit.frPicnoirI'm maybe missing the point.08:48:44
@picnoir:alternativebit.frPicnoir We already have the whole STM machinery, I think we could rewrite this memoization mechanism explicitely using STM values. We could be racing two async threads waiting for some nix/user interaction and recomputing writeStateToScreen only after we got something new to compute. 08:50:43
@picnoir:alternativebit.frPicnoirIt'd probably make things easier to grasp for people like me.08:50:58
@picnoir:alternativebit.frPicnoir * We already have the whole STM machinery, I think we could rewrite this memoization mechanism explicitely using STM values. We could be racing two async threads waiting for some nix/user interaction and recomputing writeStateToScreen only after we got something new to compute. It'd probablly make it harder to screw up the memoization by accident. 08:52:45
27 Nov 2024
@thedragon44:matrix.org@thedragon44:matrix.org left the room.23:33:11
1 Dec 2024
@shawn8901:matrix.orgshawn8901 joined the room.00:10:56
@maralorn:maralorn.demaralorn Picnoir: Sorry for not coming back to you earlier on this. 21:26:48
@maralorn:maralorn.demaralornMy idea was this: writeStateToScreen does get called at least once per second with a new time stamp.21:28:19
@maralorn:maralorn.demaralornAnd I want minimal recomputation when that happens.21:29:29
@maralorn:maralorn.demaralornThat being said: If we cache the application of stateToText to the printState we should be fine.21:33:17
@maralorn:maralorn.demaralornAlthough this could also just be a premature optmisation because it basically only kicks in once per second, which is probably not at all the hot loop …21:45:00
4 Dec 2024
@picnoir:alternativebit.frPicnoirYeah, builds are usually printing quite often anyways.09:31:40
@picnoir:alternativebit.frPicnoir This PR start to scope creep on my end, started a refactoring to clear a bit writeStateToScreen and have a single tmvar blocking the printer until something new to print appears. 09:32:23
@picnoir:alternativebit.frPicnoirLet's remove this refactoring from this PR and get this merged first.09:32:36
@picnoir:alternativebit.frPicnoirI'll make a quick hyperfine bench run to make sure I'm not breaking perf too much.09:34:38
@picnoir:alternativebit.frPicnoir
In reply to @picnoir:alternativebit.fr
Let's remove this refactoring from this PR and get this merged first.
(I'll keep a few variables remame in the end, I don't think it'll add too much review burden)
09:35:10
@maralorn:maralorn.demaralorn

Picnoir: I appreciate all refactorings, but small PRs are definitely better.

The printing code is the part of the code base which I am least proud off. It became an ugly chimera because it is not very sensitive but changed probably the most.

10:05:37
@picnoir:alternativebit.frPicnoirYeah, definitely, I'm splitting to keep it small.10:12:02
@picnoir:alternativebit.frPicnoir(implementing help and freeze atm, I'm almost done)10:12:16
@picnoir:alternativebit.frPicnoirThe freeze feature without a visual feedback is probably a footgun 😅 10:35:15
@picnoir:alternativebit.frPicnoirRedacted or Malformed Event10:35:31
@maralorn:maralorn.demaralornBug report: "nix-output-monitor hangs when pressing f" 😄10:42:08
@picnoir:alternativebit.frPicnoir"maralorn assigned this issue to @picnoir"10:44:02
@picnoir:alternativebit.frPicnoir:D10:44:03
@picnoir:alternativebit.frPicnoirAlright, I think this is ready for review.10:49:28
@picnoir:alternativebit.frPicnoirI keep the refactoring in my git stash for now. I'll push it once we're done with https://github.com/maralorn/nix-output-monitor/pull/16210:49:50
@picnoir:alternativebit.frPicnoirIt do not seem like I did something very very stupid perf wise.10:50:15
@picnoir:alternativebit.frPicnoirI'm not super sure about the help screen part, there's maybe a better way to do it.10:55:45

Show newer messages


Back to Room ListRoom Version: 9