-
Notifications
You must be signed in to change notification settings - Fork 287
Extremely slow with large repositories. #621
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
Comments
@o2sh Should we revisit this? |
Sure, but after #211 and #309, I am running out of ideas. 😞 ping @CephalonRho @yoichi @HallerPatrick |
A lot of time still appears to be spent reading commit information in Reading commits in parallel seems like a way to speed this up a bit, but I'm not sure if this is possible with Otherwise some form of caching could work, but I'm not sure if this is a good idea. |
gitoxide is indeed a promising alternative. |
If we do drop |
I created the issue GitoxideLabs/gitoxide#363.
That's a perfect plan 💯 |
It looks like major speedups are possible even on a single thread for commit graph traversal, for example I'd expect If more/all operations are done in parallel, like the syntax analysis, it should become as fast as the slowest of these operations, the commit graph traversal which clocks in at about ~7s. I wouldn't know how to parallelize the commit graph traversal though - the only way I can imagine this to work is to traverse different branches on multiple threads. This usually comes at the overhead of avoiding them to do duplicate work which requires a parallel hashset (like The above is my profiling run on the linux kernel v5.16. Most of it is the commit graph traversal, the spike towards the end is tokei, and there is about ~1s of releasing memory (which can and should probably be avoided with All in all, I think switching to |
I couldn't resist to do a quick measurement on It seems that ~1.5s are spent on the commit graph traversal, a task which could be accomplished in ~0.4s with Interestingly |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
For completeness, here is the final values, before…
…in 1.61s with a 1.13 GB memory footprint, and after…
…in 0.62s with a 438 MB memory footprint. |
@Byron 😮 ❤️ BTW, do you have an ETA for:
tracking issue --> GitoxideLabs/gitoxide#364 |
This will probably be available this month as I am currently working hard to get
This one is further away, as this year is entirely dedicated to cloning related issues and integration into |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This program is very slow when running it on large repositories, for example ReactOS.
The text was updated successfully, but these errors were encountered: