Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interactive Blame doesn't appear to be as fast as tig or non-interactive git blame #2587

Open
rnk opened this issue Mar 30, 2025 · 6 comments · May be fixed by #2591
Open

Interactive Blame doesn't appear to be as fast as tig or non-interactive git blame #2587

rnk opened this issue Mar 30, 2025 · 6 comments · May be fixed by #2591
Assignees

Comments

@rnk
Copy link

rnk commented Mar 30, 2025

Hi, I came to check out this project because I'm looking for a tool for command line interactive blame. I do a lot of source code archaeology , and I would like a single key-press way to go back to the commit that introduced the line in my cursor. As an LLVM developer, I was super excited to try out a project advertised as "blazing fast Rust". :)

However, I ran gitui blame on llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp, (helpfully github says "(Sorry about that, but we can’t show files that are this big right now.)") and it's still going as I type out this issue / feature request. This isn't a bug so much as, if you are interested in doing further performance engineering and looking for a workload to benchmark, profile, and optimize, I think you should consider this one.

This source file may be a crime against software engineering, but I will say I've done my part to move code out of it, although it was almost entirely done in self-interest.

@extrawurst
Copy link
Collaborator

yeah its a known issue with the underlying git implementation, see #673 and upstream libgit2/libgit2#3027 but I am hopeful that we might soon have a contender with gitoxide to migrate to: GitoxideLabs/gitoxide@6ed9976

@extrawurst
Copy link
Collaborator

cc @cruessler is gitoxide on par with libgit2 or better yet? :)

@cruessler
Copy link
Collaborator

The latest numbers I have are that gitoxide blame has gotten quite close to git, but hasn’t reached its performance yet. I don’t know about libgit2, but I definitely want to try integrating gitoxide blame into gitui soon to find out. :-)

@extrawurst
Copy link
Collaborator

@cruessler close to git means for sure faster than libgit2 as this is a magnitude slower than regular git. Using the gitoxide based one then would be a huge win!!

@cruessler
Copy link
Collaborator

That’s great news, and thanks for the info! I’ll move trying this out up in my list of priorities, then!

@extrawurst extrawurst linked a pull request Apr 2, 2025 that will close this issue
@extrawurst
Copy link
Collaborator

Very promising fresh benchmarks: #2269 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants