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

Files Loading slow #976

Closed
fcying opened this issue Nov 5, 2021 · 8 comments · Fixed by #979
Closed

Files Loading slow #976

fcying opened this issue Nov 5, 2021 · 8 comments · Fixed by #979
Labels
enhancement New feature or request
Milestone

Comments

@fcying
Copy link

fcying commented Nov 5, 2021

Describe the bug
my git repo have 2000commits, 2GB size.
when i view log, some times Files Loading slow.
use tig view log work fine.

gitui config vim_style_key_config

To Reproduce
Steps to reproduce the behavior:

  1. Go to Log
  2. Click on enter
  3. Click on j multitimes
  4. See error

Expected behavior
Files Loading quickly.

Screenshots
If applicable, add screenshots to help explain your problem.

Context (please complete the following information):

  • OS/Distro + Version: debian 11
  • GitUI Version 0.18
  • Rust version: none

gitui.log

@extrawurst
Copy link
Owner

I cannot reproduce

@fcying
Copy link
Author

fcying commented Nov 8, 2021

reproduce with a new git repo.
Files Loading slow when commit have binaray.

init a new git repo
add commit with 92file(.a) 168M.
add commit with some text
gitui

when I view commit with text, files loading quickly.
when I view commit with binaray, files loading slow.

@extrawurst
Copy link
Owner

I suspect the upstream libgit2 call being slow: libgit2/libgit2#4230
you can find that out by building with feature 'timing' and sharing the log. it will print the time certain libgit2 calls take.

@fcying
Copy link
Author

fcying commented Nov 10, 2021

build with cargo build --release --features=timing

gitui -l 
2
enter
j
q

gitui.log

02:32:07 [TRACE] (6) mio::poll: [/home/fcying/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.14/src/poll.rs:478] registering event source with poller: token=Token(0), interests=READABLE
02:32:07 [TRACE] (1) gitui::app: [src/app.rs:358] update
02:32:07 [TRACE] (6) mio::poll: [/home/fcying/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.14/src/poll.rs:478] registering event source with poller: token=Token(1), interests=READABLE
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:32:07 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 12491782402520387813] (type: WorkingDir)
02:32:07 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 15606184524205060862] (type: Stage)
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:32:07 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::config::get_config_string_repo] @asyncgit/src/sync/config.rs:79
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:07 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::config::get_config_string_repo] @asyncgit/src/sync/config.rs:79
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::status::get_status] @asyncgit/src/sync/status.rs:103
02:32:07 [TRACE] (2) asyncgit::status: [asyncgit/src/status.rs:151] status fetched: 15606184524205060862 (type: Stage)
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::status::get_status] @asyncgit/src/sync/status.rs:103
02:32:07 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:151] status fetched: 12491782402520387813 (type: WorkingDir)
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [gitui::loop] @src/main.rs:164
02:32:07 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Status)
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 3 ms [gitui::loop] @src/main.rs:164
02:32:07 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Status)
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:07 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:08 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:09 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('2'), modifiers: NONE }))
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commits_info::get_commits_info] @asyncgit/src/sync/commits_info.rs:69
02:32:09 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::tags::get_tags] @asyncgit/src/sync/tags.rs:29
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [gitui::loop] @src/main.rs:164
02:32:09 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Log)
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commits_info::get_commits_info] @asyncgit/src/sync/commits_info.rs:69
02:32:09 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [asyncgit::revlog::async::revlog] @asyncgit/src/revlog.rs:137
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:09 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Tags)
02:32:09 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:09 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Log)
02:32:09 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:09 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:10 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
02:32:10 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:10 [TRACE] (1) asyncgit::commit_files: [asyncgit/src/commit_files.rs:78] request: CommitFilesParams { id: CommitId(8efe2741db29d436f56e824ac79e09bdff7d95df), other: None }
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::stash::get_stashes] @asyncgit/src/sync/stash.rs:11
02:32:10 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_files::get_commit_files] @asyncgit/src/sync/commit_files.rs:16
02:32:10 [TRACE] (2) asyncgit::commit_files: [asyncgit/src/commit_files.rs:118] get_commit_files: CommitFilesParams { id: CommitId(8efe2741db29d436f56e824ac79e09bdff7d95df), other: None } (1)
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [gitui::loop] @src/main.rs:164
02:32:10 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(CommitFiles)
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:32:10 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:10 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:12 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('j'), modifiers: NONE }))
02:32:12 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:12 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::tags::get_tags] @asyncgit/src/sync/tags.rs:29
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:12 [TRACE] (1) asyncgit::commit_files: [asyncgit/src/commit_files.rs:78] request: CommitFilesParams { id: CommitId(95b04c2755d630e1e23fa5da820afe9462a8d910), other: None }
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::stash::get_stashes] @asyncgit/src/sync/stash.rs:11
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 5 ms [gitui::loop] @src/main.rs:164
02:32:12 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Tags)
02:32:12 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [gitui::loop] @src/main.rs:164
02:32:12 [TRACE] (1) gitui::app: [src/app.rs:358] update
02:32:12 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:13 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:13 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 7 ms [gitui::loop] @src/main.rs:164
02:32:15 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 2898 ms [asyncgit::sync::commit_files::get_commit_files] @asyncgit/src/sync/commit_files.rs:16
02:32:15 [TRACE] (2) asyncgit::commit_files: [asyncgit/src/commit_files.rs:118] get_commit_files: CommitFilesParams { id: CommitId(95b04c2755d630e1e23fa5da820afe9462a8d910), other: None } (13)
02:32:15 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(CommitFiles)
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:32:15 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:32:15 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:32:16 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('q'), modifiers: NONE }))
02:32:16 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [gitui::loop] @src/main.rs:164

@extrawurst
Copy link
Owner

@fcying can you please checkout the linked PR and run it against your use case and let me know if it is faster (feel free to share the log again to see the numbers)

@extrawurst extrawurst added this to the v0.19 milestone Nov 10, 2021
@extrawurst extrawurst added the enhancement New feature or request label Nov 10, 2021
@fcying
Copy link
Author

fcying commented Nov 11, 2021

with branch improve-files-in-diff-speed, Files Loading quickly

02:41:22 [TRACE] (1) gitui::app: [src/app.rs:358] update
02:41:22 [TRACE] (6) mio::poll: [/home/fcying/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.14/src/poll.rs:478] registering event source with poller: token=Token(0), interests=READABLE
02:41:22 [TRACE] (6) mio::poll: [/home/fcying/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.14/src/poll.rs:478] registering event source with poller: token=Token(1), interests=READABLE
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:41:22 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 9164361117551853085] (type: WorkingDir)
02:41:22 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 17485943171532804847] (type: Stage)
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:41:22 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::config::get_config_string_repo] @asyncgit/src/sync/config.rs:79
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:22 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::config::get_config_string_repo] @asyncgit/src/sync/config.rs:79
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::status::get_status] @asyncgit/src/sync/status.rs:103
02:41:22 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:151] status fetched: 9164361117551853085 (type: WorkingDir)
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::status::get_status] @asyncgit/src/sync/status.rs:103
02:41:22 [TRACE] (2) asyncgit::status: [asyncgit/src/status.rs:151] status fetched: 17485943171532804847 (type: Stage)
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 4 ms [gitui::loop] @src/main.rs:164
02:41:22 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Status)
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:22 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Status)
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:22 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:23 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('2'), modifiers: NONE }))
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commits_info::get_commits_info] @asyncgit/src/sync/commits_info.rs:69
02:41:23 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (3) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::tags::get_tags] @asyncgit/src/sync/tags.rs:29
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::get_branch_name_repo] @asyncgit/src/sync/branch/mod.rs:33
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [asyncgit::revlog::async::revlog] @asyncgit/src/revlog.rs:137
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 3 ms [gitui::loop] @src/main.rs:164
02:41:23 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Log)
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commits_info::get_commits_info] @asyncgit/src/sync/commits_info.rs:69
02:41:23 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:23 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Tags)
02:41:23 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:23 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(Log)
02:41:23 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:23 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:24 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
02:41:24 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:41:24 [TRACE] (1) asyncgit::commit_files: [asyncgit/src/commit_files.rs:78] request: CommitFilesParams { id: CommitId(8efe2741db29d436f56e824ac79e09bdff7d95df), other: None }
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::stash::get_stashes] @asyncgit/src/sync/stash.rs:11
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::commit_files::get_commit_diff] @asyncgit/src/sync/commit_files.rs:98
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_files::get_commit_files.delta-count] @asyncgit/src/sync/commit_files.rs:27
02:41:24 [DEBUG] (2) asyncgit::sync::commit_files: deltas in diff: 1
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_files::get_commit_files.diff-foreach] @asyncgit/src/sync/commit_files.rs:36
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::commit_files::get_commit_files] @asyncgit/src/sync/commit_files.rs:16
02:41:24 [TRACE] (2) asyncgit::commit_files: [asyncgit/src/commit_files.rs:118] get_commit_files: CommitFilesParams { id: CommitId(8efe2741db29d436f56e824ac79e09bdff7d95df), other: None } (1)
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 8 ms [gitui::loop] @src/main.rs:164
02:41:24 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(CommitFiles)
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:41:24 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:24 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('j'), modifiers: NONE }))
02:41:24 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:41:24 [TRACE] (1) asyncgit::commit_files: [asyncgit/src/commit_files.rs:78] request: CommitFilesParams { id: CommitId(95b04c2755d630e1e23fa5da820afe9462a8d910), other: None }
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::stash::get_stashes] @asyncgit/src/sync/stash.rs:11
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::commit_files::get_commit_diff] @asyncgit/src/sync/commit_files.rs:98
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_files::get_commit_files.delta-count] @asyncgit/src/sync/commit_files.rs:27
02:41:24 [DEBUG] (2) asyncgit::sync::commit_files: deltas in diff: 13
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_files::get_commit_files.diff-foreach] @asyncgit/src/sync/commit_files.rs:36
02:41:24 [TRACE] (2) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [asyncgit::sync::commit_files::get_commit_files] @asyncgit/src/sync/commit_files.rs:16
02:41:24 [TRACE] (2) asyncgit::commit_files: [asyncgit/src/commit_files.rs:118] get_commit_files: CommitFilesParams { id: CommitId(95b04c2755d630e1e23fa5da820afe9462a8d910), other: None } (13)
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 2 ms [gitui::loop] @src/main.rs:164
02:41:24 [TRACE] (1) gitui::app: [src/app.rs:377] update_async: Git(CommitFiles)
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::branch::branch_compare_upstream] @asyncgit/src/sync/branch/mod.rs:250
02:41:24 [TRACE] (1) asyncgit::tags: [asyncgit/src/tags.rs:67] request
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::commit_details::get_commit_details] @asyncgit/src/sync/commit_details.rs:95
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::utils::get_head_repo] @asyncgit/src/sync/utils.rs:106
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 0 ms [asyncgit::sync::state::repo_state] @asyncgit/src/sync/state.rs:31
02:41:24 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164
02:41:26 [TRACE] (1) gitui::app: [src/app.rs:286] event: Input(Key(KeyEvent { code: Char('q'), modifiers: NONE }))
02:41:26 [TRACE] (1) scopetime: [scopetime/src/lib.rs:41] scopetime: 1 ms [gitui::loop] @src/main.rs:164

@fcying fcying closed this as completed Nov 11, 2021
@extrawurst
Copy link
Owner

lets keep it open until the branch is merged

@extrawurst extrawurst reopened this Nov 11, 2021
extrawurst pushed a commit that referenced this issue Nov 11, 2021
extrawurst pushed a commit that referenced this issue Nov 11, 2021
@extrawurst
Copy link
Owner

extrawurst commented Nov 11, 2021

Quiet the improvement on my use case aswell: 500ms -> 5ms !
Thanks for pointing this out @fcying

@ghost ghost mentioned this issue Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants