Hi Ludo, On Thu, 14 Sep 2023 at 12:30, Ludovic Courtès <l...@gnu.org> wrote:
> but I don’t think > we can get a decent throughput if we shell out for all these things > (assuming ‘git’ can even give us raw data). Do you consider that Magit does not have a decent throughput? Do you consider that Git-Annex does not have a decent throughput? To my knowledge, they shell out Git plumbing commands; one using Emacs Lisp and the other Haskell. And some porcelain Git commands that we all are using daily are Bash scripts calling plumbing Git commands that shell out. (Or were Bash scripts before being replaced by C builtin). For example, git-rebase, git-pull, git-log, etc. https://github.com/git/git/commit/55071ea248ef8040e4b29575376273e4dd061683 https://github.com/git/git/commit/b1456605c26eb6bd991b70b0ca0a3ce0f02473e9 https://github.com/git/git/commit/e3a125a94d34d22a8ca53e84949a1bb38cd6e425 The task is probably complex and boring, I agree. However, I am not convinced the issue is about a “decent throughput”. The best would be to have the same performance using libgit2 and using plumbing Git command for one example: say ’commit-relation’. Or another one. :-) Otherwise, I believe what I am seeing. ;-) Cheers, simon