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

fetch-pack.c: enable fscache for stats under .git/objects #1426

Merged
merged 1 commit into from
Jan 12, 2018

Conversation

atetubou
Copy link

When I do git fetch, git call file stats under .git/objects for each
refs. This takes time when there are many refs.

By enabling fscache, git takes file stats by directory traversing and that
improved the speed of fetch-pack for repository having large number of
refs.

In my windows workstation, this improves the time of git fetch for
chromium repository like below. I took stats 3 times.

  • With this patch
    TotalSeconds: 9.9825165
    TotalSeconds: 9.1862075
    TotalSeconds: 10.1956256
    Avg: 9.78811653333333

  • Without this patch
    TotalSeconds: 15.8406702
    TotalSeconds: 15.6248053
    TotalSeconds: 15.2085938
    Avg: 15.5580231

Signed-off-by: Takuto Ikuta tikuta@chromium.org

When I do git fetch, git call file stats under .git/objects for each
refs. This takes time when there are many refs.

By enabling fscache, git takes file stats by directory traversing and that
improved the speed of fetch-pack for repository having large number of
refs.

In my windows workstation, this improves the time of `git fetch` for
chromium repository like below. I took stats 3 times.

* With this patch
TotalSeconds: 9.9825165
TotalSeconds: 9.1862075
TotalSeconds: 10.1956256
Avg: 9.78811653333333

* Without this patch
TotalSeconds: 15.8406702
TotalSeconds: 15.6248053
TotalSeconds: 15.2085938
Avg: 15.5580231

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
@atetubou
Copy link
Author

This is reland of #1372
But for faster stats of loose object files under .git/objects, not to cache stats under .git/objects/pack

@dscho dscho merged commit d0192a7 into git-for-windows:master Jan 12, 2018
@dscho
Copy link
Member

dscho commented Jan 12, 2018

Thanks, looks good!

@atetubou atetubou deleted the fetch_pack branch January 16, 2018 12:37
dscho added a commit that referenced this pull request Jan 18, 2018
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 20, 2018
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 16, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Mar 23, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Apr 3, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request May 29, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request May 29, 2018
fetch-pack.c: enable fscache for stats under .git/objects
PKRoma pushed a commit to PKRoma/git-for-windows that referenced this pull request Jun 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
PKRoma pushed a commit to PKRoma/git-for-windows that referenced this pull request Jun 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
PKRoma pushed a commit to PKRoma/git-for-windows that referenced this pull request Jun 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Aug 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit to dscho/git that referenced this pull request Aug 22, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Aug 23, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Aug 23, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Aug 23, 2018
fetch-pack.c: enable fscache for stats under .git/objects
jamill pushed a commit to jamill/git that referenced this pull request Aug 28, 2018
fetch-pack.c: enable fscache for stats under .git/objects
jamill pushed a commit to jamill/git that referenced this pull request Sep 5, 2018
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Sep 10, 2018
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Oct 11, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Oct 20, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Oct 20, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Oct 21, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 21, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 21, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Oct 23, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Oct 30, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 1, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 6, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Nov 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Nov 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Nov 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Nov 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Nov 22, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit to dscho/git that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2024
fetch-pack.c: enable fscache for stats under .git/objects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants