Re: meson documentation build open issues

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: meson documentation build open issues
Дата
Msg-id 20230320191639.v57hjf32opohgx73@awork3.anarazel.de
обсуждение исходный текст
Ответ на Re: meson documentation build open issues  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi,

On 2023-03-19 19:33:38 -0700, Andres Freund wrote:
> I think we can make the docs build in parallel and incrementally, by building
> the different parts of the docs in parallel, using --stringparam rootid,
> e.g. building each 'part' separately.
> 
> A very very rough draft attached:
> 
> parallel with parts:
> real    0m10.831s
> user    0m58.295s
> sys    0m1.402s
> 
> normal:
> real    0m32.215s
> user    0m31.876s
> sys    0m0.328s
> 
> 1/3 of the build time at 2x the cost is nothing to sneeze at.

I could not make myself stop trying to figure out where the big constant time
factor comes from. Every invocation costs about 2s, even if not much is
rendered. Turns out, that's solely spent building all the <xsl:key>s. The
first time *any* key() is invoked for a document, all the keys are computed in
a single pass over the document.

A single reasonable key doesn't take that much time, even for the size of our
docs. But there are several redundant keys being built. Some of them somewhat
expensive. E.g. each
<xsl:key name="genid" match="*" use="generate-id()"/>
takes about 300ms. There's one in chunk-common and one in
docbook-no-doctype.xsl.

I'm going to cry now.

Greetings,

Andres Freund



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

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Request for comment on setting binary format output per session
Следующее
От: "Gregory Stark (as CFM)"
Дата:
Сообщение: Re: pg_stats and range statistics