Обсуждение: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Erik Rijkers
Дата:
On 2016-11-16 08:06, Peter Eisentraut wrote: > Build HTML documentation using XSLT stylesheets by default > > The old DSSSL build is still available for a while using the make > target > "oldhtml". This xslt build takes 8+ minutes, compared to barely 1 minute for 'oldhtml'. I'd say that is a strong disadvantage. I hope 'for a while' will mean 'for a long time to come' or even 'forever.' Erik Rijkers
Erik Rijkers <er@xs4all.nl> writes:
> This xslt build takes 8+ minutes, compared to barely 1 minute for
> 'oldhtml'.
I'm just discovering the same.
> I'd say that is a strong disadvantage.
I'd say that is flat out unacceptable. I won't ever use this toolchain
if it's that much slower than the old way. What was the improvement
we were hoping for, again?
regards, tom lane
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Andrew Dunstan
Дата:
On 11/16/2016 09:46 AM, Tom Lane wrote: > Erik Rijkers <er@xs4all.nl> writes: >> This xslt build takes 8+ minutes, compared to barely 1 minute for >> 'oldhtml'. > I'm just discovering the same. > >> I'd say that is a strong disadvantage. > I'd say that is flat out unacceptable. I won't ever use this toolchain > if it's that much slower than the old way. What was the improvement > we were hoping for, again? > > On the buildfarm crake has gone from about 2 minutes to about 3.5 minutes to run "make doc". That's not good but it's not an eight-fold increase either. cheers andrew
On Wed, Nov 16, 2016 at 9:46 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Erik Rijkers <er@xs4all.nl> writes: >> This xslt build takes 8+ minutes, compared to barely 1 minute for >> 'oldhtml'. > > I'm just discovering the same. > >> I'd say that is a strong disadvantage. > > I'd say that is flat out unacceptable. I won't ever use this toolchain > if it's that much slower than the old way. What was the improvement > we were hoping for, again? Gosh, and I thought the existing toolchain was already ridiculously slow. Couldn't somebody write a Perl script that generated the HTML documentation from the SGML in, like, a second? I mean, we're basically just mapping one set up markup tags to another set of markup tags. And splitting up some files for the HTML version. And adding some boilerplate. But none of that sounds like it should be all that hard. I am reminded of the saying that XML is like violence -- if it doesn't solve your problem, you're not using enough of it. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Wed, Nov 16, 2016 at 10:16 AM, Andrew Dunstan <andrew@dunslane.net> wrote: > On the buildfarm crake has gone from about 2 minutes to about 3.5 minutes to > run "make doc". That's not good but it's not an eight-fold increase either. On my MacBook, "time make docs" as of e36ddab11735052841b4eff96642187ec9a8a7bc: real 2m17.871s user 2m15.505s sys 0m2.238s And as of 4ecd1974377ffb4d6d72874ba14fcd23965b1792: real 1m47.696s user 1m47.085s sys 0m1.145s -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/16/16 6:29 AM, Erik Rijkers wrote: > On 2016-11-16 08:06, Peter Eisentraut wrote: >> Build HTML documentation using XSLT stylesheets by default >> >> The old DSSSL build is still available for a while using the make >> target >> "oldhtml". > > This xslt build takes 8+ minutes, compared to barely 1 minute for > 'oldhtml'. I have committed another patch to improve the build performance a bit. Could you check again? On my machine and on the build farm, the performance now almost matches the DSSSL build. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/16/16 6:46 AM, Tom Lane wrote: > What was the improvement we were hoping for, again? Get off an ancient and unmaintained tool chain. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Erik Rijkers
Дата:
On 2016-11-16 21:59, Peter Eisentraut wrote: > On 11/16/16 6:29 AM, Erik Rijkers wrote: >> >> This xslt build takes 8+ minutes, compared to barely 1 minute for >> 'oldhtml'. > > I have committed another patch to improve the build performance a bit. > Could you check again? It is indeed better (three minutes off, nice) but still: real 5m21.348s -- for 'make -j 8 html' versus real 1m8.502s -- for 'make -j 8 oldhtml' Centos 6.6 - I suppose it's getting a bit old, I don't know if that's the cause of the discrepancy with other's measurements. Obviously as long as 'oldhtml' is possible I won't complain. thanks, Erik Rijkers
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Alvaro Herrera
Дата:
Peter Eisentraut wrote: > > This xslt build takes 8+ minutes, compared to barely 1 minute for > > 'oldhtml'. > > I have committed another patch to improve the build performance a bit. > Could you check again? After the optimization, on my laptop it takes 2:31 with the new system and 1:58 with the old one. If it can be made faster, all the better, but at this level I'm okay. Now admittedly this conversion didn't do one bit towards the goal I wanted to achieve: that each doc source file ended up as a valid XML file that could be processed separately with tools like xml2po. They are still SGML only -- in particular no doctype declaration and incomplete closing tags. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Erik Rijkers <er@xs4all.nl> writes:
> On 2016-11-16 21:59, Peter Eisentraut wrote:
>> I have committed another patch to improve the build performance a bit.
>> Could you check again?
> It is indeed better (three minutes off, nice) but still:
> real 5m21.348s -- for 'make -j 8 html'
> versus
> real 1m8.502s -- for 'make -j 8 oldhtml'
Yeah, I get about the same.
> Centos 6.6 - I suppose it's getting a bit old, I don't know if that's
> the cause of the discrepancy with other's measurements.
... and on the same toolchain. Probably the answer is "install a newer
toolchain", but from what I understand, there's a whole lot of work there
if your platform vendor doesn't supply it already packaged.
regards, tom lane
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/16/16 1:23 PM, Alvaro Herrera wrote: > Now admittedly this conversion didn't do one bit towards the goal I > wanted to achieve: that each doc source file ended up as a valid XML > file that could be processed separately with tools like xml2po. They > are still SGML only -- in particular no doctype declaration and > incomplete closing tags. Yes, that is one of the upcoming steps. But we need to do the current thing first. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/16/16 1:14 PM, Erik Rijkers wrote: > real 5m21.348s -- for 'make -j 8 html' > versus > real 1m8.502s -- for 'make -j 8 oldhtml' > > Centos 6.6 - I suppose it's getting a bit old, I don't know if that's > the cause of the discrepancy with other's measurements. I tested the build on a variety of operating systems, including that one, with different tool chain versions and I am getting consistent performance. So the above is unclear to me at the moment. For the heck of it, run this xsltproc --nonet --stringparam pg.version '10devel' stylesheet.xsl postgres.xml to make sure it's not downloading something from the network. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Erik Rijkers
Дата:
On 2016-11-17 02:15, Peter Eisentraut wrote: > On 11/16/16 1:14 PM, Erik Rijkers wrote: >> real 5m21.348s -- for 'make -j 8 html' >> versus >> real 1m8.502s -- for 'make -j 8 oldhtml' >> >> Centos 6.6 - I suppose it's getting a bit old, I don't know if that's >> the cause of the discrepancy with other's measurements. > > I tested the build on a variety of operating systems, including that > one, with different tool chain versions and I am getting consistent > performance. So the above is unclear to me at the moment. > > For the heck of it, run this > > xsltproc --nonet --stringparam pg.version '10devel' stylesheet.xsl > postgres.xml > > to make sure it's not downloading something from the network. $ time xsltproc --nonet --stringparam pg.version '10devel' stylesheet.xsl postgres.xml real 5m43.776s $ ( cd /home/aardvark/pg_stuff/pg_sandbox/pgsql.HEAD/doc/src/sgml; time make oldhtml ) real 1m14.152s (I did clean out in between)
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/16/16 3:59 PM, Peter Eisentraut wrote: >>> Build HTML documentation using XSLT stylesheets by default >>> >>> The old DSSSL build is still available for a while using the make >>> target >>> "oldhtml". >> >> This xslt build takes 8+ minutes, compared to barely 1 minute for >> 'oldhtml'. > > I have committed another patch to improve the build performance a bit. > Could you check again? > > On my machine and on the build farm, the performance now almost matches > the DSSSL build. Anyone who is still getting terrible performance (>2x slower) from the html build, please send me the output of xsltproc --profile --timing --stringparam pg.version '10devel' stylesheet.xsl postgres.xml 2>profile.txt so I can look into it. (It will be big, so feel free to paste it somewhere or send privately.) -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 11/16/16 3:59 PM, Peter Eisentraut wrote:
>> On my machine and on the build farm, the performance now almost matches
>> the DSSSL build.
Still sucks for me on an up-to-date RHEL6 box: about 1m5s to build oldhtml,
about 4m50s to build html, both starting after "make maintainer-clean" in
the doc/src/sgml/ subdirectory.
BTW, I notice the "make check-tabs" step isn't getting run with the new
target; is that intentional?
> Anyone who is still getting terrible performance (>2x slower) from the
> html build, please send me the output of
> xsltproc --profile --timing --stringparam pg.version '10devel'
> stylesheet.xsl postgres.xml 2>profile.txt
> so I can look into it.
It wasn't that big, so attached.
regards, tom lane
Parsing stylesheet stylesheet.xsl took 3 ms
Parsing document postgres.xml took 258 ms
number match name mode Calls Tot 100us Avg
0 gentext.template 740222 13445998 18
1 l10n.language 604192 5579772 9
2 footnote footnote.number
36 2458970 68304
3 href.target 31220 1170552 37
4 gentext.template.exists
547516 651313 1
5 inherited.table.attribute
124970 449412 3
6 * html.title.attribute
181126 421298 2
7 gentext 13441 307385 22
8 chunk-all-sections 1332 299884 225
9 chunk 237364 299160 1
10 substitute-markup 86180 200978 2
11 simple.xlink 91501 193179 2
12 entry|entrytbl entry 22086 184189 8
13 dbhtml-dir 276346 167630 0
14 lookup.key 306424 160120 0
15 * recursive-chunk-filename
102309 154378 1
16 xref no.anchor.mode
70 131384 1876
17 pi-attribute 382931 130482 0
18 xpath.location 167791 123089 0
19 anchor 171571 114268 0
20 * head.keywords.content
5300 100556 18
21 sect1 label.markup
26594 97906 3
22 chapter label.markup
32343 88112 2
23 dir 175593 86788 0
24 object.id 195572 85495 0
25 get-attribute 628313 84789 0
26 * title.markup
168553 80976 0
27 figure|table|example label.markup
1226 77663 63
28 colnum.colspec 127081 76139 0
29 write.chunk 1333 74765 56
30 appendix label.markup
26516 70527 2
31 autolabel.format 101251 62680 0
32 pi.dbhtml_dir 276346 60904 0
33 dbhtml-attribute 382900 58037 0
34 header.navigation 1332 57161 42
35 * common.html.attributes
101057 56244 0
36 html:p|p unwrap.p 33426 55942 1
37 label.this.section 75320 55522 0
38 inline.monoseq 56958 54528 0
39 footer.navigation 1332 53082 39
40 * class.attribute
104793 48923 0
41 * html.lang.attribute
152756 44097 0
42 paragraph 29312 42340 1
43 subtoc 9081 41895 4
44 gentext.dingbat 3300 39823 12
45 * chunk-filename
63772 38154 0
46 generate.html.title 175545 37800 0
47 sect2|sect3|sect4|sect5
label.markup
15501 37231 2
48 section |sect1|sect2|sect3|sect4|sect5
|refsect1|refsect2|refsect3|refsection |simplesect
title.markup
37437 35762 0
49 calculate.following.spans
83318 35576 0
50 indexterm index-div-basic
26 34136 1312
51 entry|entrytbl sentry span 19520 32710 1
52 unwrap.p 29312 31750 1
53 para 29295 30011 1
54 copy-string 70123 29407 0
55 href.target.uri 62440 29263 0
56 trim.common.uri.paths
62440 29200 0
57 pi.dbhtml_filename 102310 27579 0
58 inline.charseq 14419 26451 1
59 generate.html.lang 152756 25862 0
60 title title.markup
46495 23765 0
61 text() 194407 23617 0
62 refentry title.markup
5972 23442 3
63 itemizedlist/listitem
10284 23290 2
64 normal-row 6255 23131 3
65 section.level 78312 22954 0
66 * unwrap.p 88692 22797 0
67 chunk-element-content
1332 22458 16
68 toc.line 9081 20248 2
69 get.doc.title 1 18801 18801
70 common.html.attributes
32406 18656 0
71 indexterm index-primary
2190 16515 7
72 locale.html.attributes
51699 16392 0
73 find.path.params 18094 16077 0
74 * object.title.markup
29801 15843 0
75 unwrap.p.nodes 6200 15626 2
76 entry.colnum 41606 14283 0
77 indexterm reference 2669 13521 5
78 xref xref 3928 12705 3
79 * class.value
104833 12675 0
80 apply-annotations 80442 12141 0
81 * object.title.markup.textonly
14937 11214 0
82 count.uri.path.depth 31220 11179 0
83 section.heading 2992 10943 3
84 reference label.markup
6 10568 1761
85 section |sect1|sect2|sect3|sect4|sect5 |refsect1|refsect2|refsect3
|simplesect
titleabbrev.markup
8908 10104 1
86 * insert.title.markup
28625 9847 0
87 process-chunk 1332 9518 7
88 sect1|sect2|sect3|sect4|sect5|section
2973 8518 2
89 is.component 26594 8431 0
90 text()|processing-instruction()|comment()
unwrap.p 166230 8339 0
91 section|sect1|sect2|sect3|sect4|sect5|simplesect |bridgehead
object.title.template
16207 8295 0
92 navig.content 10626 8278 0
93 generate-basic-index 1 7915 7915
94 inline.italicmonoseq 8086 6607 0
95 section.title 2992 6534 2
96 process-chunk-element
1332 6279 4
97 head.content 1333 6082 4
98 programlisting|screen|synopsis
3450 5867 1
99 index.separator 8007 5666 0
100 preface|chapter|appendix
title.markup
3942 5411 1
101 formal.object 416 5294 12
102 refentrytitle|refname|refdescriptor
title.markup
7776 5193 0
103 * no.anchor.mode
7463 4871 0
104 sect2.titlepage.recto
1398 4860 3
105 * locale.html.attributes
51699 4715 0
106 sect2 1398 4702 3
107 * object.xref.template
2069 4567 2
108 sect2.titlepage 1398 4358 3
109 check.id.unique 5658 4182 0
110 sect1 960 4022 4
111 * insert.label.markup
22440 4008 0
112 sect1.titlepage.recto
960 3963 4
113 indexterm index-div-quicklinks
26 3904 150
114 html.head 1332 3856 2
115 tgroup tgroup 392 3630 9
116 refentry toc 597 3404 5
117 * object.xref.markup
2069 3379 1
118 sect1.titlepage 960 3287 3
119 itemizedlist 974 3270 3
120 process.footnotes 1331 3220 2
121 varlistentry/term 4567 3172 0
122 refsection|refsect1|refsect2|refsect3
1447 3051 2
123 varlistentry 3960 3049 0
124 row 6255 2930 0
125 varlistentry/listitem
3960 2874 0
126 indexterm index-secondary
444 2700 6
127 quote 1635 2659 1
128 component.toc 79 2472 31
129 variablelist 669 2288 3
130 copyright titlepage.mode
1 2255 2255
131 reference 780 2060 2
132 link link 1653 1973 1
133 * object.title.template
10261 1940 0
134 * intralabel.punctuation
43230 1918 0
135 process.chunk.footnotes
2973 1862 0
136 in.other.chunk 1554 1700 1
137 output.html.stylesheets
1333 1562 1
138 indexterm 2704 1488 0
139 function 5438 1477 0
140 caution|tip|warning|important|note
title.markup
2178 1404 0
141 nongraphical.admonition
726 1397 1
142 refentry xref-to 1223 1349 1
143 sect3.titlepage.recto
397 1315 3
144 sect3 397 1303 3
145 sect2 toc 4188 1276 0
146 sect3.titlepage 397 1272 3
147 sect1 toc 2875 1221 0
148 chapter object.title.template
2130 1189 0
149 * index-title-content
780 1176 1
150 finaltd 6258 1134 0
151 chapter|appendix insert.title.markup
3245 1114 0
152 literal 24553 1084 0
153 dingbat.characters 884 1047 1
154 sfinaltd 5480 1009 0
155 count.footnotes.in.this.chunk
1363 971 0
156 make-relative-filename
1333 933 0
157 calsTable 376 927 2
158 section|simplesect |sect1|sect2|sect3|sect4|sect5
|refsect1|refsect2|refsect3|refsection
xref-to 1517 919 0
159 ulink ulink 262 876 3
160 step number 426 872 2
161 dot.count 1637 843 0
162 refentry.titlepage 279 810 2
163 chapter.titlepage.recto
67 810 12
164 book title.markup
1340 794 0
165 tr.attributes 6367 776 0
166 reference title.markup
455 771 1
167 table title.markup
1587 756 0
168 generate.col 1312 740 0
169 id.warning 3794 727 0
170 sect4.titlepage 210 693 3
171 blank.spans 3344 682 0
172 refentry 279 679 2
173 generate.colgroup 1681 656 0
174 title sect2.titlepage.recto.auto.mode
1398 633 0
175 glossterm glossterm 589 607 1
176 sect4 210 599 2
177 emphasis 428 596 1
178 part label.markup
291 571 1
179 thead|tfoot 386 567 1
180 group|arg group-or-arg 224 551 2
181 sect4.titlepage.recto
210 548 2
182 formal.object.heading
430 510 1
183 make.toc 91 492 5
184 * sect2.titlepage.recto.mode
1398 482 0
185 simplelist[@type='inline']
184 479 2
186 procedure.step.numeration
439 475 1
187 list.itemsymbol 988 473 0
188 generate.class.attribute
1031 454 0
189 body.attributes 1333 451 0
190 appendix object.title.template
904 442 0
191 glossterm|firstterm title.markup
589 439 0
192 refpurpose 876 439 0
193 * sect1.titlepage.recto.mode
960 436 0
194 title sect1.titlepage.recto.auto.mode
960 430 0
195 refnamediv 279 425 1
196 inline.italicseq 608 392 0
197 chapter 67 386 5
198 * titleabbrev.markup
616 385 0
199 sect3 toc 1191 378 0
200 tbody 392 364 0
201 system.head.content 1333 361 0
202 acronym 2291 331 0
203 gentext.nav.next 2662 329 0
204 type 6764 325 0
205 informal.object 16 323 20
206 inline.boldmonoseq 271 316 1
207 replaceable 6476 316 0
208 appendix.titlepage.recto
11 315 28
209 next.itemsymbol 966 312 0
210 refsynopsisdiv 279 308 1
211 gentext.nav.prev 2662 306 0
212 pi.dbhtml_table-summary
1061 304 0
213 calculate.colspan 90 302 3
214 refsect1/title|refsect1/info/title
1354 301 0
215 gentext.nav.up 2640 299 0
216 command 6014 298 0
217 chapter.titlepage 67 295 4
218 sect2.titlepage.separator
1398 275 0
219 table.longdesc 392 271 0
220 gentext.nav.home 2662 267 0
221 simplelist.vert.row 210 259 1
222 gentext.startquote 1648 240 0
223 application 5403 236 0
224 pi.dbhtml_list-presentation
669 234 0
225 reference.titlepage.recto
3 231 77
226 set|book|part|preface|chapter|appendix |article |reference|refentry
|book/glossary|article/glossary|part/glossary
|book/bibliography|article/bibliography|part/bibliography |colophon
371 227 0
227 component.title 82 222 2
228 refsynopsisdiv title.markup
558 218 0
229 gentext.endquote 1648 217 0
230 figure|example|table|equation
xref-to 316 213 0
231 part title.markup
334 209 0
232 pi.dbhtml_list-width 669 204 0
233 manvolnum 1204 203 0
234 sect4 toc 630 199 0
235 note|important|warning|caution|tip
726 198 0
236 pi.dbhtml_term-width 669 187 0
237 structname 3818 186 0
238 book|preface|chapter|appendix
titleabbrev.markup
157 184 1
239 optional 331 184 0
240 part.titlepage.recto 8 171 21
241 sect1.titlepage.separator
960 170 0
242 procedure 26 169 6
243 productname 3131 169 0
244 user.footer.content 1332 167 0
245 dedication|acknowledgements|preface|chapter|appendix|article
xref-to 211 162 0
246 part object.title.template
263 159 0
247 user.header.content 1332 159 0
248 simpara 338 158 0
249 user.head.content 1333 157 0
250 preface|chapter|appendix|article
toc 157 156 0
251 title sect3.titlepage.recto.auto.mode
397 154 0
252 simplelist.vert 122 150 1
253 orderedlist 31 149 4
254 appendix 11 149 13
255 make-verbatim-recursive
346 147 0
256 step 187 146 0
257 * sect3.titlepage.recto.mode
397 146 0
258 user.footer.navigation
1332 141 0
259 orderedlist/listitem 142 140 0
260 step[not(./title)] title.markup
326 131 0
261 xref.xreflabel 606 121 0
262 refname 303 118 0
263 user.header.navigation
1332 117 0
264 link no.anchor.mode
355 114 0
265 dingbat 884 114 0
266 longdesc.uri 392 111 0
267 pi.dbhtml_cellspacing
392 106 0
268 filename 2428 104 0
269 email 67 102 1
270 pi.dbhtml_cellpadding
392 99 0
271 table 376 95 0
272 structfield 1800 92 0
273 option 2017 90 0
274 varname 1951 90 0
275 write.longdesc 392 88 0
276 floatstyle 432 88 0
277 reference 3 88 29
278 cmdsynopsis 51 84 1
279 part 8 83 10
280 sect3.titlepage.separator
397 83 0
281 title sect4.titlepage.recto.auto.mode
210 82 0
282 pi.dbhtml_table-width
392 82 0
283 phrase 48 80 1
284 * sect4.titlepage.recto.mode
210 78 0
285 * endterm 57 77 1
286 footnote/para[1]|footnote/simpara[1]
16 76 4
287 function/parameter 384 75 0
288 example 38 74 1
289 section|sect1|sect2|sect3|sect4|sect5
is.autonumber
1517 70 0
290 colspec.colnum 270 70 0
291 indexterm index-symbol-div
5 68 13
292 person.name.first-last
39 67 1
293 firstterm 589 67 0
294 refentrytitle 1207 67 0
295 figure|example|equation
title.markup
133 66 0
296 simplesect.titlepage 19 66 3
297 literallayout 34 65 1
298 simplesect.titlepage.recto
19 64 3
299 make.lots 1 63 63
300 biblioentry 26 62 2
301 person.name.list 58 61 1
302 partintro 10 57 5
303 inline.boldseq 39 55 1
304 figure|example|table|equation
is.autonumber
316 53 0
305 sect2/title |sect2/info/title |sect2info/title
titlepage.mode
1398 52 0
306 appendix.titlepage 11 52 4
307 token 860 51 0
308 person.name 39 50 1
309 lineannotation 114 50 0
310 chapter is.autonumber
183 48 0
311 member 105 48 0
312 sect1/title |sect1/info/title |sect1info/title
titlepage.mode
960 48 0
313 indexterm index-tertiary
7 46 6
314 part|reference toc 14 45 3
315 partintro.titlepage.recto
10 45 4
316 footnote 16 44 2
317 title chapter.titlepage.recto.auto.mode
67 44 0
318 sect5 8 42 5
319 book 1 42 42
320 sect4.titlepage.separator
210 41 0
321 simplesect 19 39 2
322 function/replaceable 247 39 0
323 parameter 979 39 0
324 formalpara/title|formalpara/info/title
17 39 2
325 symbol 664 39 0
326 part.titlepage 8 37 4
327 partintro.titlepage 10 34 3
328 preface label.markup
85 33 0
329 * remove-ids 29 33 1
330 text() make.verbatim.mode
29 33 1
331 sect5.titlepage 8 32 4
332 process.footnotes.in.this.chunk
23 32 1
333 group/arg 40 31 0
334 procedure object.title.template
36 30 0
335 biblioset/title|biblioset/citetitle
bibliography.mode
24 30 1
336 substeps 13 29 2
337 preface 1 29 29
338 formalpara 17 29 1
339 procedure title.markup
62 28 0
340 process.menuchoice 18 28 1
341 / 1 28 28
342 callout 7 27 3
343 sect5.titlepage.recto
8 27 3
344 division.toc 12 26 2
345 step xref-to 9 26 2
346 informaltable 16 26 1
347 copyright bibliography.mode
5 26 5
348 indexterm index-see 34 25 0
349 listitem/simpara 41 25 0
350 step/title 28 25 0
351 refsect2/title|refsect2/info/title
85 25 0
352 systemitem 195 25 0
353 inline.superscriptseq
13 24 1
354 bibliography 2 24 12
355 simplelist[@type='vert']
17 23 1
356 footnote process.footnoteprocess.footnote.mode
16 22 1
357 list.numeration 31 21 0
358 orderedlist-starting-number
31 21 0
359 output-orderedlist-starting-number
31 20 0
360 next.numeration 30 20 0
361 co callout-bug
14 20 1
362 envar 316 20 0
363 abstract|sidebar 1 20 20
364 sect3/title |sect3/info/title |sect3info/title
titlepage.mode
397 19 0
365 chapter/title|chapter/chapterinfo/title
titlepage.mode
67 18 0
366 biblioentry.label 26 18 0
367 reference.titlepage 3 18 6
368 bibliography|glossary
toc 1 17 17
369 callout.arearef 7 17 2
370 biblioentry|bibliomixed
xref-to 17 17 1
371 figure 2 17 8
372 userinput 271 17 0
373 format.sgmltag 6 17 2
374 part|reference xref-to 25 16 0
375 trademark 2 16 8
376 authorgroup bibliography.mode
20 16 0
377 publishername bibliography.mode
14 16 1
378 titleabbrev title.markup
21 15 0
379 index 1 15 15
380 biblioset bibliography.mode
24 15 0
381 book.titlepage.recto 1 15 15
382 * chapter.titlepage.recto.mode
67 15 0
383 foreignphrase 9 14 1
384 formalpara/para 17 14 0
385 optional[@role='tcl']
8 14 1
386 bibliography title.markup
15 13 0
387 indexterm index-seealso
6 13 2
388 abbrev 1 13 13
389 footnoteref 4 13 3
390 pubdate bibliography.mode
11 13 1
391 blockquote 1 13 13
392 title titlepage.mode
4 13 3
393 pi.dbhtml_start 31 13 0
394 programlisting/emphasis
31 13 0
395 calloutlist 4 12 3
396 callout.arearefs 14 12 0
397 keycap 8 12 1
398 citerefentry 6 12 2
399 sgmltag|tag 6 12 2
400 bibliodiv 3 12 4
401 index title.markup
9 11 1
402 sect4/title |sect4/info/title |sect4info/title
titlepage.mode
210 11 0
403 errorname 1 11 11
404 guisubmenu 3 11 3
405 title bibliography.mode
11 11 1
406 titleabbrev bibliography.mode
18 11 0
407 legalnotice titlepage.mode
1 11 11
408 callout-bug 14 10 0
409 comment|remark 1 10 10
410 honorific|firstname|surname|lineage|othername
78 10 0
411 book.titlepage 1 10 10
412 title simplesect.titlepage.recto.auto.mode
19 10 0
413 bibliography.titlepage
2 10 5
414 varlistentry xref-to 17 9 0
415 computeroutput 102 9 0
416 citetitle 10 9 0
417 keycombo 4 9 2
418 * reference.titlepage.recto.mode
3 9 3
419 make-verbatim 21 8 0
420 footnote table.footnote.mode
4 8 2
421 confdates bibliography.mode
6 8 1
422 preface.titlepage.recto
1 8 8
423 preface.titlepage 1 8 8
424 appendix is.autonumber
28 7 0
425 * appendix.titlepage.recto.mode
11 7 0
426 * simplesect.titlepage.recto.mode
19 7 0
427 gentext.nestedstartquote
2 6 3
428 ulink no.anchor.mode
34 6 0
429 co co 7 6 0
430 empty.table.cell 1 6 6
431 classname 25 6 0
432 author bibliography.mode
1 6 6
433 confgroup bibliography.mode
6 6 1
434 conftitle bibliography.mode
6 6 1
435 publisher bibliography.mode
14 6 0
436 title appendix.titlepage.recto.auto.mode
11 6 0
437 bibliography.titlepage.recto
2 6 3
438 part is.autonumber
20 5 0
439 sect5 toc 24 5 0
440 index toc 1 5 5
441 varlistentry/term xref-to 17 5 0
442 simplesect/title|simplesect/info/title
titlepage.mode
19 5 0
443 prompt 141 5 0
444 menuchoice 5 5 1
445 comment[parent::answer|parent::appendix|parent::article|parent::bibliodiv|
parent::bibliography|parent::blockquote|parent::caution|parent::chapter|
parent::glossary|parent::glossdiv|parent::important|parent::index|
parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|
parent::partintro|parent::preface|parent::procedure|parent::qandadiv|
parent::qandaset|parent::question|parent::refentry|parent::refnamediv|
parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|
parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|
parent::sect5|parent::section|parent::setindex|parent::sidebar|
parent::simplesect|parent::taskprerequisites|parent::taskrelated|
parent::tasksummary|parent::warning]|remark[parent::answer|parent::appendix|parent::article|parent::bibliodiv|
parent::bibliography|parent::blockquote|parent::caution|parent::chapter|
parent::glossary|parent::glossdiv|parent::important|parent::index|
parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|
parent::partintro|parent::preface|parent::procedure|parent::qandadiv|
parent::qandaset|parent::question|parent::refentry|parent::refnamediv|
parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|
parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|
parent::sect5|parent::section|parent::setindex|parent::sidebar|
parent::simplesect|parent::taskprerequisites|parent::taskrelated|
parent::tasksummary|parent::warning]
1 5 5
446 division.title 8 5 0
447 bibliodiv/title 3 5 1
448 address bibliography.mode
10 5 0
449 isbn bibliography.mode
5 5 1
450 subtitle bibliography.mode
4 5 1
451 index.titlepage 1 5 5
452 gentext.nestedendquote
2 4 2
453 sect5/title |sect5/info/title |sect5info/title
titlepage.mode
8 4 0
454 part make.part.toc
7 4 0
455 reference make.part.toc
3 4 1
456 refsect3/title|refsect3/info/title
8 4 0
457 appendix/title|appendix/appendixinfo/title
titlepage.mode
11 4 0
458 date bibliography.mode
3 4 1
459 pagenums bibliography.mode
2 4 2
460 index.titlepage.recto
1 4 4
461 / make.verbatim.mode
21 4 0
462 guibutton 1 3 3
463 superscript 13 3 0
464 pubsnumber bibliography.mode
2 3 1
465 attribution 1 3 3
466 ln.or.rh.filename 1 3 3
467 title reference.titlepage.recto.auto.mode
3 3 1
468 title sect5.titlepage.recto.auto.mode
8 3 0
469 * make.verbatim.mode
5 3 0
470 copyright.years 1 2 2
471 guimenu 5 2 0
472 guimenuitem 5 2 0
473 preface/title titlepage.mode
1 2 2
474 edition bibliography.mode
4 2 0
475 productname bibliography.mode
1 2 2
476 volumenum bibliography.mode
1 2 2
477 * book.titlepage.recto.mode
4 2 0
478 sect5.titlepage.separator
8 2 0
479 * sect5.titlepage.recto.mode
8 2 0
480 gentext.space 16 1 0
481 sidebar title.markup
3 1 0
482 legalnotice title.markup
4 1 0
483 * is.autonumber
5 1 0
484 biblioentry|bibliomixed
xref-to-prefix
17 1 0
485 biblioentry|bibliomixed
xref-to-suffix
17 1 0
486 year[position()=last()]
bibliography.mode
5 1 0
487 * titlepage.mode
5 1 0
488 year titlepage.mode
1 1 1
489 holder titlepage.mode
1 1 1
490 legalnotice/title titlepage.mode
1 1 1
491 title book.titlepage.recto.auto.mode
1 1 1
492 copyright book.titlepage.recto.auto.mode
1 1 1
493 legalnotice book.titlepage.recto.auto.mode
1 1 1
494 title preface.titlepage.recto.auto.mode
1 1 1
495 simplesect.titlepage.separator
19 1 0
496 * process.root
1 1 1
497 setindex |book/index |article/index |part/index
1 1 1
498 bibliography|glossary| qandaset|index|setindex
label.markup
2 0 0
499 generate-index 1 0 0
500 * bibliography.mode
6 0 0
501 holder bibliography.mode
3 0 0
502 corpauthor titlepage.mode
1 0 0
503 book.titlepage.separator
1 0 0
504 corpauthor book.titlepage.recto.auto.mode
1 0 0
505 reference.titlepage.separator
3 0 0
506 * preface.titlepage.recto.mode
1 0 0
Total 9284691 29526473
Applying stylesheet took 295800 ms
Saving result took 0 ms
I wrote: > Still sucks for me on an up-to-date RHEL6 box: about 1m5s to build oldhtml, > about 4m50s to build html, both starting after "make maintainer-clean" in > the doc/src/sgml/ subdirectory. However, speed may be the least of its problems. I just noticed that it's inserting commas at random places in syntax summaries :-(. For instance, the "overlay" entry in table 9.8 looks like overlay(string, placing string, from int [for int]) Neither comma belongs there according to the SGML source, and I don't see them in guaibausaurus' rendering of the page: https://www.postgresql.org/docs/devel/static/functions-string.html So I'm forced to the conclusion that I need a newer version of the toolchain and/or style sheets. If you've got any idea of just what needs to be updated, that would be real helpful. xsltproc itself is from "libxslt-1.1.26-2.el6_3.1.x86_64" but I'm unsure what packages contain relevant style sheets. regards, tom lane
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/30/16 1:52 PM, Tom Lane wrote: > However, speed may be the least of its problems. I just noticed that it's > inserting commas at random places in syntax summaries :-(. For instance, > the "overlay" entry in table 9.8 looks like > > overlay(string, placing > string, from int [for int]) > > Neither comma belongs there according to the SGML source, and I don't see > them in guaibausaurus' rendering of the page: > https://www.postgresql.org/docs/devel/static/functions-string.html > > So I'm forced to the conclusion that I need a newer version of the > toolchain and/or style sheets. If you've got any idea of just what > needs to be updated, that would be real helpful. xsltproc itself > is from "libxslt-1.1.26-2.el6_3.1.x86_64" but I'm unsure what packages > contain relevant style sheets. OK, I got it. The component of concern is the DocBook XSL stylesheets, called docbook-style-xsl on RH-like systems (docbook-xsl on Debian). If it runs too slow, it's probably too old. Here you can see a list of available versions: http://docbook.sourceforge.net/release/xsl/ I noticed a significant slow-down with versions older than 1.76.1. And indeed CentOS/RHEL 6 comes with 1.75.2. Also, the issue with the extra commas mentioned above goes away with 1.78.0. Here is the trick why this isn't reproducible for some: The local stylesheet file stylesheet.xsl references http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl. If you have the docbook-style-xsl package installed, then this URL gets redirected to your local installation through the XML catalog mechanism.If you don't have the package installed locally,then xsltproc will download the stylesheet files from that actual URL and cache them locally. So if you have an old docbook-style-xsl version, you get old and slow behavior. If you uninstall it or just never installed it, you get the latest from the internet. If you don't want to mess with your local packages, you can also prevent the use of the XML catalog by setting the environment variable XML_CATALOG_FILES to empty (e.g., XML_CATALOG_FILES='' make html). There is some work to be done here to document this and make sure we wrap releases with appropriate versions and so on, but I hope this information can keep everyone moving for now. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> OK, I got it. The component of concern is the DocBook XSL stylesheets,
> called docbook-style-xsl on RH-like systems (docbook-xsl on Debian). If
> it runs too slow, it's probably too old.
OK, I updated docbook-style-xsl to 1.79.1 from Fedora rawhide (building
and installing that was quite painless btw, didn't need a pile of build
dependencies like I'd feared it would take). The extraneous commas are
gone, and the speed is better but still not really up to DSSSL speed:
1m44s (vs 1m5s with old toolchain). So there's some additional piece
that needs fixing, but that's certainly the worst of it.
regards, tom lane
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Pavel Stehule
Дата:
2016-12-01 5:37 GMT+01:00 Tom Lane <tgl@sss.pgh.pa.us>:
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> OK, I got it. The component of concern is the DocBook XSL stylesheets,
> called docbook-style-xsl on RH-like systems (docbook-xsl on Debian). If
> it runs too slow, it's probably too old.
OK, I updated docbook-style-xsl to 1.79.1 from Fedora rawhide (building
and installing that was quite painless btw, didn't need a pile of build
dependencies like I'd feared it would take). The extraneous commas are
gone, and the speed is better but still not really up to DSSSL speed:
1m44s (vs 1m5s with old toolchain). So there's some additional piece
that needs fixing, but that's certainly the worst of it.
It does much more intensive work with IO - I have feeling like there are intensive fsync.
Regards
Pavel
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default
От
Alvaro Herrera
Дата:
Pavel Stehule wrote: > It does much more intensive work with IO - I have feeling like there are > intensive fsync. You could prove that, by running "make html" under "strace -f -e trace=fsync" etc. I just tried that, and I don't see any fsync. I guess you could try other syscalls, or simply "-e trace=file". Doing the latter I noticed an absolutely stupid number of attempts to open file /usr/lib/libxslt-plugins/nwalsh_com_xslt_ext_com_nwalsh_saxon_UnwrapLinks.so which deserves a WTF. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
[HACKERS] Re: [COMMITTERS] pgsql: Build HTML documentation using XSLTstylesheets by default
От
Alexander Law
Дата:
Hello Alvaro,
It's caused by the condition
<xsl:when test="function-available('suwl:unwrapLinks')">...
in the simple.xlink template
(docbook/stylesheet/docbook-xsl/xhtml/inline.xsl). (This test executed
for each xlink (~ 90000 times)).
Yes, it's inefficient but it doesn't affect build time (for me).
You can try to apply the attached patch and measure the time with it.
So If the performance is rather acceptable now I'd continue switch to
XML, and get back to the performance issues after the switch.
(epub generation is much more slow, and I have developed a patch to
speed up it too.)
Best regards,
Alexander
01.12.2016 19:49, Alvaro Herrera wrote:
> Pavel Stehule wrote:
>
>> It does much more intensive work with IO - I have feeling like there are
>> intensive fsync.
> You could prove that, by running "make html" under "strace -f -e
> trace=fsync" etc. I just tried that, and I don't see any fsync. I
> guess you could try other syscalls, or simply "-e trace=file". Doing
> the latter I noticed an absolutely stupid number of attempts to open
> file
> /usr/lib/libxslt-plugins/nwalsh_com_xslt_ext_com_nwalsh_saxon_UnwrapLinks.so
> which deserves a WTF.
>
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
Alexander Law <exclusion@gmail.com> writes:
> Hello Alvaro,
> It's caused by the condition
> <xsl:when test="function-available('suwl:unwrapLinks')">...
> in the simple.xlink template
> (docbook/stylesheet/docbook-xsl/xhtml/inline.xsl). (This test executed
> for each xlink (~ 90000 times)).
> Yes, it's inefficient but it doesn't affect build time (for me).
> You can try to apply the attached patch and measure the time with it.
For me, that reduces the "make html" time from 1m44s to 1m43s.
regards, tom lane
Re: [HACKERS] Re: [COMMITTERS] pgsql: Build HTML documentation usingXSLT stylesheets by default
От
Peter Eisentraut
Дата:
On 11/30/16 11:37 PM, Tom Lane wrote: > Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes: >> OK, I got it. The component of concern is the DocBook XSL stylesheets, >> called docbook-style-xsl on RH-like systems (docbook-xsl on Debian). If >> it runs too slow, it's probably too old. > > OK, I updated docbook-style-xsl to 1.79.1 from Fedora rawhide (building > and installing that was quite painless btw, didn't need a pile of build > dependencies like I'd feared it would take). The extraneous commas are > gone, and the speed is better but still not really up to DSSSL speed: > 1m44s (vs 1m5s with old toolchain). So there's some additional piece > that needs fixing, but that's certainly the worst of it. I've done a few more tweaks, and now it actually runs faster for me than the old build. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 11/30/16 11:37 PM, Tom Lane wrote:
>> OK, I updated docbook-style-xsl to 1.79.1 from Fedora rawhide (building
>> and installing that was quite painless btw, didn't need a pile of build
>> dependencies like I'd feared it would take). The extraneous commas are
>> gone, and the speed is better but still not really up to DSSSL speed:
>> 1m44s (vs 1m5s with old toolchain). So there's some additional piece
>> that needs fixing, but that's certainly the worst of it.
> I've done a few more tweaks, and now it actually runs faster for me than
> the old build.
For me it's now 1m35s, which is better than the last round but not
quite up to the old speed. It's tolerable though. Thanks for hacking
on it.
regards, tom lane