{"thread":{"id":"56047","subject":"[GSoC] Git Blog 7","startedAt":"2021-07-04T14:42:37Z","lastAt":"2021-07-05T19:09:34Z","messageCount":2,"participants":["ZheNing Hu","Christian Couder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"429165","messageId":"CAOLTT8R_=8Md3vk5yBK4dggq1RKof_6c1tOEtfchbSmYf+gwtA@mail.gmail.com","threadId":"56047","inReplyTo":null,"subject":"[GSoC] Git Blog 7","fromName":"ZheNing Hu","fromEmail":"adlternative@gmail.com","sentAt":"2021-07-04T14:42:31Z","receivedAt":"2021-07-04T14:42:37Z","isPatch":false,"sender":{"key":"adlternative@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58138461?v=4"},"body":"My seventh week blog finished:\nThe web version is here:\nhttps://adlternative.github.io/GSOC-Git-Blog-7/\n\n## Week7 Performance Testing 2\n\nThis week I used performance flame graph at the suggestion of\nmy mentor `Christian` to find out where my patch affected the\nperformance of `cat-file --batch`. `oid_object_info_extended()`\ntakes the largest proportion of time, accounting for `90.28%`\nand `41.60%` in `cat-file --batch` and `cat-file --batch-check`\nrespectively. Part of the reason is that `oid_object_info_extended()`\nis called twice in `get_object()` with my patch. I tried to revise its\nlogic (`WIP`), the performance is improved when without using\n`--textconv` and `--filters`.\n\n`Ævar Arnfjörð Bjarmason` gave me a good suggestion on\nperformance regression: When we use the default format of\n`git cat-file --batch-check` or `git cat-file --batch`, we can\ndirectly print the meta-data of the object without going through\nthe logic of `ref-filter`; When we use other format, use the\nlogic in ref-filter.\n\nIn addition, `Ævar Arnfjörð Bjarmason` also suggests adding a\nperformance test for `git cat-file --batch`, this can help us analyze\nand compare performance changes later.\n\nThere are intensive exams in these two weeks, and sometimes the\nresponse may be delayed.\n\nThanks.\n--\nZheNing Hu\n"},{"id":"429251","messageId":"CAP8UFD1_xjJxWA6O8Sx9-AEk5oC62U4GFkt5iRdx8Po_mJzTMg@mail.gmail.com","threadId":"56047","inReplyTo":"CAOLTT8R_=8Md3vk5yBK4dggq1RKof_6c1tOEtfchbSmYf+gwtA@mail.gmail.com","subject":"Re: [GSoC] Git Blog 7","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2021-07-05T19:09:19Z","receivedAt":"2021-07-05T19:09:34Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Sun, Jul 4, 2021 at 4:42 PM ZheNing Hu <adlternative@gmail.com> wrote:\n>\n> My seventh week blog finished:\n> The web version is here:\n> https://adlternative.github.io/GSOC-Git-Blog-7/\n\nThanks!\n\n> ## Week7 Performance Testing 2\n>\n> This week I used performance flame graph at the suggestion of\n> my mentor `Christian` to find out where my patch affected the\n> performance of `cat-file --batch`. `oid_object_info_extended()`\n> takes the largest proportion of time, accounting for `90.28%`\n> and `41.60%` in `cat-file --batch` and `cat-file --batch-check`\n> respectively. Part of the reason is that `oid_object_info_extended()`\n> is called twice in `get_object()` with my patch. I tried to revise its\n> logic (`WIP`), the performance is improved when without using\n\ns/when without/when not/\n\n> `--textconv` and `--filters`.\n>\n> `Ævar Arnfjörð Bjarmason` gave me a good suggestion on\n> performance regression: When we use the default format of\n> `git cat-file --batch-check` or `git cat-file --batch`, we can\n> directly print the meta-data of the object without going through\n> the logic of `ref-filter`; When we use other format, use the\n> logic in ref-filter.\n>\n> In addition, `Ævar Arnfjörð Bjarmason` also suggests adding a\n> performance test for `git cat-file --batch`, this can help us analyze\n> and compare performance changes later.\n>\n> There are intensive exams in these two weeks, and sometimes the\n> response may be delayed.\n\nOk, no worries!\n"}]}