Thread (7 messages) flat view 7 messages, 2 authors, 2021-08-13

Re: [GSoC] Git Blog 12

From: ZheNing Hu <hidden>
Date: 2021-08-13 08:26:09

Christian Couder [off-list ref] 于2021年8月11日周三 下午4:20写道:
On Wed, Aug 11, 2021 at 5:47 AM ZheNing Hu [off-list ref] wrote:
quoted
ZheNing Hu [off-list ref] 于2021年8月10日周二 下午10:20写道:
quoted
quoted
I think find_subpos() called by grab_sub_body_contents() and find_wholine()
called by grab_person() are evidences that we are repeating iteratively.
But the proportion of time they occupy is too small. 0.0142% and 0.0109%
Using such a method may reduce some unnecessary scans [1]
But it can do very little optimization... 1.6%.
On the other hand, our optimization should focus on the default format of
`git cat-file --batch`.

My new idea is to need a fast path: when we use the default format,
let us directly execute get_object() to avoid unnecessary traversal
and checking.
I think it should be done not only when we use the default format but
when we use any format that only needs the metadata provided by
get_object(). This way that wouldn't be a special case fast path, but
rather a generally useful optimization.
Sorry, the reply is a bit late. These two days have been busy implementing
more valuable performance optimization patches. I finally did not implement
the above plan. At present, ref-filter does have some small areas worth
optimizing. A large part of the remaining performance loss comes from
more allocated memory and more copying. We must bear a certain gap
in performance. But we can minimize it as much as possible. This is perhaps
the most reasonable at present.

Let’s forget about the previous commit-slab for now and take a look at my
new optimization these two days:
https://lore.kernel.org/git/pull.1016.git.1628842990.gitgitgadget@gmail.com/ (local)

Thanks.
--
ZheNing Hu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help