11 Dec 2024 |
Grimmauld | In reply to @k900:0upti.me And I also don't think TCO is going to be the bottleneck for, uh, just about anything sane You see I do advent of code in nix, hitting rec limit is not rare. Would have loved to be saved by some good evaluator, but I suppose I just need more ram and better code XD | 07:46:45 |
K900 | I mean | 07:47:31 |
Emma [it/its] | In reply to @emma:rory.gay Git doesnt use its own diff format though, it just pushes the new version of files Im saying this with my "i wrote my own git implementation based on the binary files & docs" hat on, fwiw | 07:47:34 |
olivia | dunno if aoc in nix counts as "anything sane" lol | 07:47:34 |
K900 | That does not count as sane | 07:47:36 |
piegames | TCO is useful when writing heavy data manipulation witg recursion, like in Haskell. Nix barely even has pattern matching … | 07:47:38 |
piegames | When doing performance optimization, one usually starts with a benchmark of common usage patterns, and "evaluating a NixOS conf" is a common usage pattern while "Advent of Code" isn't | 07:48:55 |
Grimmauld | In reply to @k900:0upti.me That does not count as sane Infinisil did it four years ago, so you are saying they aren't sane either... But fair point! | 07:48:50 |
K900 | I'm not saying you're not sane | 07:49:21 |
K900 | I'm saying what you're doing isn't | 07:49:28 |
olivia | (doing not-sane things can be fun) | 07:49:59 |
olivia | (but like, optimizing the language implementation for it is probably a bad idea) | 07:50:15 |
piegames | (And good for overall sanity) | 07:50:20 |
Grimmauld | Day 9 ate 13Gb of ram to store stack frames, scraped by at 23k recursion depth, and took multiple hours of fighting the evaluator to fit within the limitations XD | 07:50:23 |
piegames | I mean, if anybody implemented that in the evaluator and it wouldn't negatively affect any common usage scenarios, I wouldn't block it | 07:51:00 |
piegames | It's just, of the long list of optimizations to make, when sorting that list by reasonable priority, TCO is probably in the third or last quartile | 07:51:32 |
Grimmauld | In reply to @piegames:flausch.social I mean, if anybody implemented that in the evaluator and it wouldn't negatively affect any common usage scenarios, I wouldn't block it Bet! After apparmor and bachelor's thesis, I will do it. I time for AOC next year. | 07:51:40 |
Grimmauld | *in time | 07:51:52 |
KFears (annoying) | In reply to @emma:rory.gay Git doesnt use its own diff format though, it just pushes the new version of files Yes; I'm just saying that people occasionally use Git as a generic "diff format". I think that it's the problem we are discussing, actually: because we don't have some generic "diff format" that Github understands that allow us to express "I have these files, give me the delta to the latest commit", we discuss using Git to do that vs re-downloading the zip archive, and using Git will also pull in a bunch of Git metadata and packed objects | 07:52:32 |
piegames | (Disclaimer: I have had zero looks at feasability within the current Nix evaluator so far. No guarantee for success) | 07:52:42 |
Emma [it/its] | In reply to @kfears:matrix.org Yes; I'm just saying that people occasionally use Git as a generic "diff format". I think that it's the problem we are discussing, actually: because we don't have some generic "diff format" that Github understands that allow us to express "I have these files, give me the delta to the latest commit", we discuss using Git to do that vs re-downloading the zip archive, and using Git will also pull in a bunch of Git metadata and packed objects yeahhh no, the diff part is solely a frontend thing, also git's diff format inside of object packs is dense | 07:54:58 |
KFears (annoying) | Sorry, I think you lost me there for a sec :/ | 07:55:40 |
Emma [it/its] | tl;dr git does not diff, especially when doing a pull/fetch | 08:06:21 |
KFears (annoying) | Ah, yeah, that's something I wanted to say and failed to do | 08:07:29 |
Emma [it/its] | we dont talk about it's bespoke internal diff format when handling pack files | 08:07:45 |
KFears (annoying) | At least it has the API that says "diff" on it; we don't have anything other that at least has that, on Github at least D: | 08:08:06 |
Emma [it/its] | git diff just uses a local diff util :) | 08:08:36 |
uep | it does not. i got through to, oh, roughly this point when i tried it, i think year before last | 08:10:49 |
Emma [it/its] | In reply to @kfears:matrix.org At least it has the API that says "diff" on it; we don't have anything other that at least has that, on Github at least D: wait, wdym by this? | 08:12:48 |
KFears (annoying) | In reply to @emma:rory.gay wait, wdym by this? Actually, it just occured to me that I'm a little stupid | 08:27:09 |