Re: Missed compiler optimization issue in function select_rtable_names_for_explain

Поиск
Список
Период
Сортировка
От Daniel Gustafsson
Тема Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Дата
Msg-id 23848714-3662-428E-8E6D-5986D87491D6@yesql.se
обсуждение исходный текст
Ответ на Re: Missed compiler optimization issue in function select_rtable_names_for_explain  (XChy <xxs_chy@outlook.com>)
Ответы Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Список pgsql-general
> On 22 May 2024, at 12:12, XChy <xxs_chy@outlook.com> wrote:
>
>> How is the memset in select_rtable_names_for_explain a dead-store? Even memset calls could be optimized away from
theEXPLAIN codepath I have a feeling it 
>> would have to be many in a tight loop for it to be measurable even?

> For the first question, I don't mean that the memset is the dead store.

Gotcha

> I mean that the stores with value "0" after the memset are dead:
> ```
>     dpns.subplans = NIL;
>     dpns.ctes = NIL;
>     dpns.appendrels = NULL;
> ```
> since the memset has written zeroes to the object "dpns", and these members are known to be zero.

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.

--
Daniel Gustafsson




В списке pgsql-general по дате отправления:

Предыдущее
От: o1bigtenor
Дата:
Сообщение: Re: Regarding use case of epoch to generate nanoseconds precision
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Missed compiler optimization issue in function select_rtable_names_for_explain