Re: Speed up clean meson builds by ~25%

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Speed up clean meson builds by ~25%
Дата
Msg-id 1719013.1713409853@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Speed up clean meson builds by ~25%  (Jelte Fennema-Nio <postgres@jeltef.nl>)
Ответы Re: Speed up clean meson builds by ~25%  (Andres Freund <andres@anarazel.de>)
Re: Speed up clean meson builds by ~25%  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
Jelte Fennema-Nio <postgres@jeltef.nl> writes:
> As I expected this problem was indeed fairly easy to address by still
> building "backend/parser" before "interfaces". See attached patch.

I think we should hold off on this.  I found a simpler way to address
ecpg's problem than what I sketched upthread.  I have a not-ready-to-
show-yet patch that allows the vast majority of ecpg's grammar
productions to use the default semantic action.  Testing on my M1
Macbook with clang 16.0.6 from MacPorts, I see the compile time for
preproc.o in HEAD as about 1m44 sec; but with this patch, 0.6 sec.

The core idea of the patch is to get rid of <str> results from
grammar nonterminals and instead pass the strings back as yylloc
results, which we can do by redefining YYLTYPE as "char *"; since
ecpg isn't using Bison's location logic for anything, this is free.
Then we can implement a one-size-fits-most token concatenation
rule in YYLLOC_DEFAULT, and only the various handmade rules that
don't want to just concatenate their inputs need to do something
different.

The patch presently passes regression tests, but its memory management
is shoddy as can be (basically "leak like there's no tomorrow"), and
I want to fix that before presenting it.  One could almost argue that
we don't care about memory consumption of the ecpg preprocessor;
but I think it's possible to do better.

            regards, tom lane



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

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: Re: Popcount optimization using AVX512
Следующее
От: Nathan Bossart
Дата:
Сообщение: improve performance of pg_dump --binary-upgrade