On Sun, Jul 4, 2021 at 4:42 PM ZheNing Hu <adlternative@xxxxxxxxx> wrote: > > My seventh week blog finished: > The web version is here: > https://adlternative.github.io/GSOC-Git-Blog-7/ Thanks! > ## Week7 Performance Testing 2 > > This week I used performance flame graph at the suggestion of > my mentor `Christian` to find out where my patch affected the > performance of `cat-file --batch`. `oid_object_info_extended()` > takes the largest proportion of time, accounting for `90.28%` > and `41.60%` in `cat-file --batch` and `cat-file --batch-check` > respectively. Part of the reason is that `oid_object_info_extended()` > is called twice in `get_object()` with my patch. I tried to revise its > logic (`WIP`), the performance is improved when without using s/when without/when not/ > `--textconv` and `--filters`. > > `Ævar Arnfjörð Bjarmason` gave me a good suggestion on > performance regression: When we use the default format of > `git cat-file --batch-check` or `git cat-file --batch`, we can > directly print the meta-data of the object without going through > the logic of `ref-filter`; When we use other format, use the > logic in ref-filter. > > In addition, `Ævar Arnfjörð Bjarmason` also suggests adding a > performance test for `git cat-file --batch`, this can help us analyze > and compare performance changes later. > > There are intensive exams in these two weeks, and sometimes the > response may be delayed. Ok, no worries!