Permalink
Browse files

update TODO with performance plan

  • Loading branch information...
bpeabody committed Apr 26, 2016
1 parent 2bd4e30 commit bada15b5d466343c6bb3877af4ae140b3721f21b
Showing with 18 additions and 0 deletions.
  1. +18 −0 TODO.md
18 TODO.md
@@ -36,3 +36,21 @@ amount of overhead that is prohibitive.
## Nodegit keeps process running

https://github.com/nodegit/nodegit/issues/920

## Performance of libgit/rebase

- caching `lookup`
- option to skip workdir check
- skip unchecked out subdirs by, e.g., making this change:

diff_opts.flags =
- DIFF_INCLUDE_UNMODIFIED |
DIFF_INCLUDE_UNREADABLE |
GIT_DIFF_INCLUDE_UNTRACKED |
GIT_DIFF_RECURSE_UNTRACKED_DIRS | /* needed to match baseline */
from the `git_checkout_iterator` method in checkout.c
- `git_submodule_status` is the actual bottleneck. It's slow because it calls
`submodule_update_head` each time, and that method calls
`git_repository_head_tree`, which is slow. Could probably cache this once
per run.

0 comments on commit bada15b

Please sign in to comment.