Re: Missed compiler optimization issue in function select_rtable_names_for_explain - Mailing list pgsql-general

From Daniel Gustafsson
Subject Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Date
Msg-id 211F711D-A799-489B-B0BE-10CBEFC51424@yesql.se
Whole thread Raw
In response to Re: Missed compiler optimization issue in function select_rtable_names_for_explain  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
> On 22 May 2024, at 18:53, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Daniel Gustafsson <daniel@yesql.se> writes:
>> They are known to be zero, but that's not entirely equivalent though is it?
>> NIL is defined as ((List *) NULL) and NULL is typically defined as ((void *)
>> 0), so sizeof(0) would be the size of an int and sizeof(NULL) would be the size
>> of a void pointer.
>
> There are other places where we assume that a memset-to-zero will
> produce null pointers, so I don't think that that objection has
> a lot of force.

It wasn't really an objection, but (perhaps a badly worded) an attempt to
understand the proposal.

> My real answer is that this is our coding style
> and we are not going to change it: our normal convention is to
> initialize struct fields in declaration order, and that's what
> we're doing here.  If some particular version of some particular
> compiler fails to make an entirely-negligible optimization in
> consequence, that is not something we are going to care about.

+1

--
Daniel Gustafsson




pgsql-general by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Next
From: Ron Johnson
Date:
Subject: Re: search_path wildcard?