Lillis (@AnonLikesToCode) header
Lillis (@AnonLikesToCode) profile picture

I help maintain tree-sitter / To whom much is given, much will be required

/home/your_mom
Joined March 2024
#NewProfilePic Opsec level: gym bathroom selfie
1
8
201
The tree-sitter-generate optimizations will continue until morale improves
2
83
More performance improvements to tree-sitter generate. The master branch is now ~3-5x faster and uses 3-5x less memory than 0.26. More improvements to come!
2
42
“What are code reviews like working on enterprise C++?”
1
3
144
In every call to StatusOptions::new, you also use exclude_submodules(true). That means any changes inside submodules (chromium has 263 on its main branch currently) won't get picked up by git2. Your fuzz tests don't catch this because they also tell git2 to ignore submodules in the same way. I threw together a quick test with fff-core as a dependency and it reports modified files inside submodules as clean.
1
35
In the next version of tree-sitter-cli `tree-sitter generate` gets 40-50% faster
1
5
120
interprocess uses named pipes on windows which means you can’t set timeouts for reads. How am I supposed to thrive in these conditions
1
98
I need to stop trying to work on top of existing mechanisms that doesn’t have a well established protocol. The way git handles lock file acquisition is utterly insane and invites race conditions from external tooling. > acquire index.lock > gather information about the state of the repo > write updated index to index.lock > delete index > rename index.lock to index (!!!!) > do some other operation (create rebase-merge directory if a rebase command was issued) > hope nobody else touches index during this time (?????) > try to reacquire index.lock Why wouldn’t you just hold the lock file for the entire operation? I just want ‘git status’ to not take 30 seconds dawg
44