Re: Special-case executor expression steps for common combinations

Поиск
Список
Период
Сортировка
От Andreas Karlsson
Тема Re: Special-case executor expression steps for common combinations
Дата
Msg-id 97ded65b-6188-4922-a12b-020bba8ec852@proxel.se
обсуждение исходный текст
Ответ на Special-case executor expression steps for common combinations  (Daniel Gustafsson <daniel@yesql.se>)
Ответы Re: Special-case executor expression steps for common combinations
Список pgsql-hackers
On 10/12/23 11:48 AM, Daniel Gustafsson wrote:
> Thoughts?

I have looked at the patch and it still applies, builds and passes the 
test cases and I personally think these optimizations are pretty much 
no-brainers that we should do and it is a pity nobody has had the time 
to review this patch.

1) The no-return case should help with the JIT, making jitted code faster.

2) The specialized strict steps helps with many common queries in the 
interpreted mode.

The code itself looks really good (great work!) but I have two comments 
on it.

1) I think the patch should be split into two. The two different 
optimizations are not related at all other than that they create 
specialized versions of expressions steps. Having them as separate makes 
the commit history easier to read for future developers.

2) We could generate functions which return void rather than NULL and 
therefore not have to do a return at all but I am not sure that small 
optimization and extra clarity would be worth the hassle. The current 
approach with adding Assert() is ok with me. Daniel, what do you think?

Andreas



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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: datfrozenxid > relfrozenxid w/ crash before XLOG_HEAP_INPLACE
Следующее
От: Andreas Karlsson
Дата:
Сообщение: Re: Special-case executor expression steps for common combinations