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

Optimize PrepareRelease performance #575

Open
dbanty opened this issue Sep 11, 2023 · 0 comments
Open

Optimize PrepareRelease performance #575

dbanty opened this issue Sep 11, 2023 · 0 comments
Labels
🎸 Feature New feature or request 🆘 help wanted Extra attention is needed

Comments

@dbanty
Copy link
Member

dbanty commented Sep 11, 2023

In order to fix #505, we started having to parse every commit in history and keep them in memory in order to select the correct commits. This is probably still fast enough for most projects, but really inefficient for large ones and probably consumes a ton of memory.

So... there are a couple of improvements we could make:

  1. Allow folks to completely disable commit-traversal if they're using changesets only
  2. Use a graph-aware algorithm to determine if a potential commit's parents are in the history of the previous releases without traversing the entire graph or storing everything in memory
  3. As an alternative to 2, start shelling out to git rev-list or something. If we start relying on git to be present (if using conventional commits), then we can also drop libgit2 and probably gix which each make up a massive chunk of the compile time.
@dbanty dbanty added 🎸 Feature New feature or request 🆘 help wanted Extra attention is needed labels Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎸 Feature New feature or request 🆘 help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant