!9IQChSjwSHXPPWTa:lix.systems

Lix

1101 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms293 Servers

Load older messages


SenderMessageTime
6 Dec 2025
@aloisw:julia0815.dealoisw Key word is "can" here, it all depends on the actual use case. 14:41:18
@jassu:kumma.juttu.asiaJassukoYes. So I guess we should figure out how to make it fast. :p14:41:51
@522_:catgirl.cloud522 it/its ⛯ΘΔhttps://sqlite.org/fasterthanfs.html#write_performance_measurements goes into it14:43:27
@522_:catgirl.cloud522 it/its ⛯ΘΔwrite perf for sqlite writes in a single transaction vs the filesystem (with no fsync) is pretty much identical on linux14:43:59
@aloisw:julia0815.dealoisw Well yes, https://gerrit.lix.systems/c/lix/+/4711 and https://gerrit.lix.systems/c/lix/+/4712 are attempts to tweak SQLite settings to make it go a lot faster 14:45:02
@jassu:kumma.juttu.asiaJassuko 100s to 1000s of writes per second is where SQLite should start to get painful in general on many use cases. Anything below that, it should just work, or be easily fixable to perform. 14:45:09
@aloisw:julia0815.dealoisw With the default page size it spent like 40% of the time checkpointing. 14:45:48
@522_:catgirl.cloud522 it/its ⛯ΘΔ also yeah, the benchmark linked doesn't include checkpointing 14:46:14
@aloisw:julia0815.dealoisw "No checkpoint" and "huge blob" are about the opposite of what Lix is doing. 14:47:33
@kuruczgy:matrix.orgkuruczgy Do any of the nix hash commands have a way to ignore certain files/dirs?
In particular I have to do this to hash a git repo:
mkdir /tmp/wt && git worktree add /tmp/wt HEAD && rm /tmp/wt/.git && nix hash path /tmp/wt
Is there some way to hash a git tree without having to copy it? (Possibly something that doesn't even look at the worktree, just the git objects.)
14:48:57
@k900:0upti.meK900nix-prefetch-git?14:49:35
@aloisw:julia0815.dealoisw That copies, right? 14:49:52
@kuruczgy:matrix.orgkuruczgyDoes that not copy the repo into some temporary worktree too?14:49:54
@aloisw:julia0815.dealoisw I guess you could point it to a store on tmpfs and it at least wouldn't copy to the disk. 14:50:39
@kuruczgy:matrix.orgkuruczgy(In particular I probably want to avoid copying anything to my store, I have a complicated FOD to put together the source tree, and I want to check that it comes out identical to what I have checked out in my working tree.)14:52:08
@aloisw:julia0815.dealoisw Right, but "100s to 1000s of writes per second" is pretty much exactly what Lix does. 14:52:12
@522_:catgirl.cloud522 it/its ⛯ΘΔin a transaction per write?14:55:01
@aloisw:julia0815.dealoisw No, one transaction per derivation I think. 14:55:38
@kfears:matrix.orgKFears (burnt out)That's on a very high load, no? My desktop closure size is around 17k drvs, and another 17k for FODs14:55:44
@aloisw:julia0815.dealoisw For reference, evaluating my system configuration into a fresh store takes about 85 seconds including downloads and builds for IFD, and creates about 350k pages of WAL (with page_size = 512, haven't checked with 4096 but probably about the same). 14:56:50
@hexa:lossy.networkhexa loving the implications for build farms 14:57:30
@aloisw:julia0815.dealoisw Yes, that's exactly why it is so slow and we're having this conversation. 14:57:32
@hexa:lossy.networkhexathanks for looking int o that14:57:36
@hexa:lossy.networkhexa* thanks for looking into that14:57:39
@aloisw:julia0815.dealoisw You eval on tmpfs, right? 14:58:07
@hexa:lossy.networkhexanot sure what "eval on tmpfs" means14:59:04
@aloisw:julia0815.dealoisw That the store that the machine performing the evaluation writes to is located on tmpfs. 14:59:39
@hexa:lossy.networkhexaoh, you mean a non-default store then15:00:05
@hexa:lossy.networkhexano15:00:19
@hexa:lossy.networkhexa* that'd be a no15:00:24

Show newer messages


Back to Room ListRoom Version: 10