Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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
git-for-windows-ci pushed a commit that referenced this pull request Jan 6, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
@dscho dscho mentioned this pull request Jan 7, 2025
dscho added a commit to dscho/git that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit to dscho/git that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 7, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 8, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 8, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 8, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 8, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 9, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 9, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 17, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 27, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 27, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 27, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Jan 27, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 27, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 28, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Jan 28, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 3, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 5, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 5, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 5, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Feb 5, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 6, 2025
fetch-pack.c: enable fscache for stats under .git/objects
dscho added a commit that referenced this pull request Feb 6, 2025
fetch-pack.c: enable fscache for stats under .git/objects
git-for-windows-ci pushed a commit that referenced this pull request Feb 6, 2025
fetch-pack.c: enable fscache for stats under .git/objects
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants