`Git` Performance issue in dulwich
See original GitHub issueBug Report
Sometimes dvc exp show
will take more than 10s to get a response, use Cprofile we notice that the time was costed in _load_file_contents
in dulwich
,
related cprofile my.prof.zip
Description
Reproduce
Expected
Environment information
Output of dvc doctor
:
$ dvc doctor
Additional Information (if any):
Issue Analytics
- State:
- Created a year ago
- Reactions:2
- Comments:7 (1 by maintainers)
Top Results From Across the Web
Dulwich - Git SCM
It aims to provide an interface to git repositories (both local and remote) that doesn't call out to git directly but instead uses...
Read more >Python implementation of Git — dulwich 0.20.46 documentation
The reason for this is that they significantly improve the performance since some low-level operations that are executed often are much slower in...
Read more >Python implementation of Git — dulwich 0.19.12 documentation
Overview¶. Build Status Windows Build Status. This is the Dulwich project. It aims to provide an interface to git repos (both local and...
Read more >Git in pure Python: Full Dulwich example - This Data Guy
Dulwich can do a lot with git (much more than what I needed). It can handle higher and lower level git APIs. The...
Read more >Bug #829298 “git performance suffers for large repositories” : Bugs ...
This is partly due to a lack of support for generating proper git pack files in dulwich (bug 562673) and partly due to...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@dberenbaum we discussed it and this probably only requires filling out the libgit/pygit
fetch/push
implementations in scmrepo (currently we just only have dulwich implementation done, since there was never an explicit need for anything else until now).libgit/pygit should at least be faster than dulwich, and this will be simpler than trying to dig into actual optimizations in dulwich upstream.
once that’s done we can revisit this later (and consider doing upstream optimizations) if there’s still a significant performance gap between using libgit/pygit and CLI git (but I don’t expect there will be a significant difference)
Takes about 1.16s.