Re: [PATCH v3] fetch-pack.c: use oidset to check existence of loose object

2018-03-13 Thread Takuto Ikuta
2018年3月14日(水) 2:53 Junio C Hamano : > Takuto Ikuta writes: > >> During fetch, everything_local() tries to mark common part by > >> walking the refs the other side advertised upon the first contact, > >> so it is correct that the number of checks is not reduced in a fetch > >> that does not fetch

Re: [PATCH v3] fetch-pack.c: use oidset to check existence of loose object

2018-03-13 Thread Junio C Hamano
Takuto Ikuta writes: >> During fetch, everything_local() tries to mark common part by >> walking the refs the other side advertised upon the first contact, >> so it is correct that the number of checks is not reduced in a fetch >> that does not fetch many refs, but the number of remote-tracking r

Re: [PATCH v3] fetch-pack.c: use oidset to check existence of loose object

2018-03-10 Thread Takuto Ikuta
2018-03-10 3:00 GMT+09:00 Junio C Hamano : > Takuto Ikuta writes: > >> Yes, I just wanted to say 'git fetch' invokes fetch-pack. >> fetch-pack is skipped when running git fetch repeatedly while >> remote has no update by quickfetch. So I disabled it to see the >> performance of fetch-pack. In chro

Re: [PATCH v3] fetch-pack.c: use oidset to check existence of loose object

2018-03-09 Thread Junio C Hamano
Takuto Ikuta writes: > In repository having large number of remote refs, because to check Isn't this "When fetching from a repository with large number of refs,"? The number of refs (whether it is local or remote-tracking) the local side has has nothing to do with the issue you are addressing,

[PATCH v3] fetch-pack.c: use oidset to check existence of loose object

2018-03-09 Thread Takuto Ikuta
In repository having large number of remote refs, because to check existence of each refs in local repository, 'git fetch' ends up doing a lot of lstat(2) calls to see if it exists in loose form, which makes it slow. This patch enumerates loose objects in hashmap beforehand and uses it to check ex