Re: Missed compiler optimization issue in function select_rtable_names_for_explain

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Дата
Msg-id 202405221100.fy66dsew2f52@alvherre.pgsql
обсуждение исходный текст
Ответ на 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 2024-May-22, XChy wrote:

> Hi everyone,
> 
> I'm a compiler developer working on detecting missed optimization in
> real-world applications. Recently, we found that LLVM missed a dead store
> elimination optimization in the PostgreSQL code
<https://github.com/postgres/postgres/blob/c37267162e889fe783786b9e28d1b65b82365a00/src/backend/utils/adt/ruleutils.c#L3794>
(https://github.com/postgres/postgres/blob/master/src/backend/utils/adt/ruleutils.c#L3794)
> in the master branch.

I think if we want to improve how this code is seen by the compiler by
modifying it, we should just remove the NULL/NIL assignments.  It's a
pretty arbitrary (and rather small) subset of fields being initialized,
fields which very obviously have been zeroed by memset already, so I
don't see any value in the explicit assignments.

The criteria may be different in cases where some struct has all of its
members initialized to something, because at least you can use that kind
of thing to find places you need to modify when adding new struct
members.  Not so in select_rtable_names_for_explain.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"I can see support will not be a problem.  10 out of 10."    (Simon Wittber)
      (http://archives.postgresql.org/pgsql-general/2004-12/msg00159.php)



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

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: Missed compiler optimization issue in function select_rtable_names_for_explain
Следующее
От: XChy
Дата:
Сообщение: Re: Missed compiler optimization issue in function select_rtable_names_for_explain