Em sáb., 21 de mai. de 2022 às 12:05, Tomas Vondra <
tomas.von...@enterprisedb.com> escreveu:

>
>
> On 5/21/22 15:06, Ranier Vilela wrote:
> >>Zhihong Yu <zyu(at)yugabyte(dot)com> writes:
> >>> I was looking at the code in hash_record()
> >>> of src/backend/utils/adt/rowtypes.c
> >>> It seems if nulls[i] is true, we don't need to look up the hash
> function.
> >
> >>I don't think this is worth changing. It complicates the logic,
> >>rendering it unlike quite a few other functions written in the same
> >>style. In cases where the performance actually matters, the hash
> >>function is cached across multiple calls anyway. You might save
> >>something if you have many calls in a query and not one of them
> >>receives a non-null input, but how likely is that?
> >
> > I disagree.
> > I think that is worth changing. The fact of complicating the logic
> > is irrelevant.
>
> That's a quite bold claim, and yet you haven't supported it by any
> argument whatsoever. Trade-offs between complexity and efficiency are a
> crucial development task, so complicating the logic clearly does matter.
>
What I meant is that complicating the logic in search of efficiency is
worth it, and that's what everyone is looking for in this thread.
Likewise, not complicating the logic, losing a little bit of efficiency,
applied to all the code, leads to a big loss of efficiency.
In other words, I never miss an opportunity to gain efficiency.

regards,
Ranier Vilela

Reply via email to