* Re: how to build emacs without documentation? [not found] <mailman.3001.1376231269.12400.help-gnu-emacs@gnu.org> @ 2013-08-13 14:51 ` Stefan Monnier 2013-08-13 15:26 ` Rustom Mody ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Stefan Monnier @ 2013-08-13 14:51 UTC (permalink / raw) To: help-gnu-emacs > Reason: I want to bisect the emacs commit history in order to find the > commit which introduced some regression. Building the info files, pdf > files etc every time is time consuming and not relevant to the > regression. The normal "make" does not build pdfs. As for "info", well, that was pretty much immediate until Texinfo-5.0 came along. So you might like to downgrade to Texinfo-4.x to enjoy a more normal speed. I still have no idea how they managed to slow things down so much. It feels like it's a good 100 times slower. Actual measurement will probably show the slowdown factor to be smaller, but still the difference is insane. Stefan ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: how to build emacs without documentation? 2013-08-13 14:51 ` how to build emacs without documentation? Stefan Monnier @ 2013-08-13 15:26 ` Rustom Mody 2013-08-13 16:32 ` Eli Zaretskii [not found] ` <mailman.3136.1376411515.12400.help-gnu-emacs@gnu.org> 2 siblings, 0 replies; 7+ messages in thread From: Rustom Mody @ 2013-08-13 15:26 UTC (permalink / raw) To: help-gnu-emacs On Tuesday, August 13, 2013 8:21:51 PM UTC+5:30, Stefan Monnier wrote: > As for "info", well, that was pretty much immediate until Texinfo-5.0 > came along. So you might like to downgrade to Texinfo-4.x to enjoy > a more normal speed. > > I still have no idea how they managed to slow things down so much. > It feels like it's a good 100 times slower. Actual measurement will > probably show the slowdown factor to be smaller, but still the > difference is insane. It seems to have switched from C to perl http://www.gnu.org/software/texinfo/manual/texinfo/html_node/History.html#History Reading Joel Spolsky http://www.joelonsoftware.com/articles/fog0000000069.html would have been a good idea! And perl?? In 2013?!?! [BTW I bothered to look this up because of the nuisance that an orgmode build including git pull seems to take forever in the makeinfo phase ] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: how to build emacs without documentation? 2013-08-13 14:51 ` how to build emacs without documentation? Stefan Monnier 2013-08-13 15:26 ` Rustom Mody @ 2013-08-13 16:32 ` Eli Zaretskii [not found] ` <mailman.3136.1376411515.12400.help-gnu-emacs@gnu.org> 2 siblings, 0 replies; 7+ messages in thread From: Eli Zaretskii @ 2013-08-13 16:32 UTC (permalink / raw) To: help-gnu-emacs > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Tue, 13 Aug 2013 10:51:51 -0400 > > As for "info", well, that was pretty much immediate until Texinfo-5.0 > came along. So you might like to downgrade to Texinfo-4.x to enjoy > a more normal speed. I renamed the new makeinfo to makeinfo5, and keep the old v4.x one under the name makeinfo. > I still have no idea how they managed to slow things down so much. Because they implemented makeinfo in Perl, and made it a real translator, that builds an intermediate parse tree representation, and then invokes an appropriate back-end to produce output. By contrast, the original makeinfo was a one-pass converter which left most of the text intact and just acted on the few directives, expanding them in-line. > It feels like it's a good 100 times slower. Actual measurement will > probably show the slowdown factor to be smaller, but still the > difference is insane. The slowdown factor is around 18. ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <mailman.3136.1376411515.12400.help-gnu-emacs@gnu.org>]
* Re: how to build emacs without documentation? [not found] ` <mailman.3136.1376411515.12400.help-gnu-emacs@gnu.org> @ 2013-08-14 16:49 ` Stefan Monnier 2013-08-14 17:56 ` Eli Zaretskii 0 siblings, 1 reply; 7+ messages in thread From: Stefan Monnier @ 2013-08-14 16:49 UTC (permalink / raw) To: help-gnu-emacs > Because they implemented makeinfo in Perl, and made it a real > translator, that builds an intermediate parse tree representation, and > then invokes an appropriate back-end to produce output. By contrast, > the original makeinfo was a one-pass converter which left most of the > text intact and just acted on the few directives, expanding them > in-line. Still: parsing should be fairly trivial, and rendering to Info (almost plain text) shouldn't be all that hard either. Yet, makeinfo is significantly slower than running the same file through TeX to get a beautiful PDF. E.g. "cd doc/lispref; rm elisp.pdf; make pdf" took me 16s first time (because it had to generate some auxiliary font data, apparently) and 4s second time around. In comparison, "rm info/elisp.info; time make info" says that it needed 57s to make up the elisp.info file. More than 10 times slower to do a simpler job. There must be either something I'm missing, or some serious performance bug somewhere. Stefan ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: how to build emacs without documentation? 2013-08-14 16:49 ` Stefan Monnier @ 2013-08-14 17:56 ` Eli Zaretskii 0 siblings, 0 replies; 7+ messages in thread From: Eli Zaretskii @ 2013-08-14 17:56 UTC (permalink / raw) To: help-gnu-emacs > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Wed, 14 Aug 2013 12:49:09 -0400 > > > Because they implemented makeinfo in Perl, and made it a real > > translator, that builds an intermediate parse tree representation, and > > then invokes an appropriate back-end to produce output. By contrast, > > the original makeinfo was a one-pass converter which left most of the > > text intact and just acted on the few directives, expanding them > > in-line. > > Still: parsing should be fairly trivial, and rendering to Info (almost > plain text) shouldn't be all that hard either. You'd have to ask the author to have definitive response, but my guess is that it is not trivial at all to parse Texinfo. The language was never meant to be parsed, it basically is just a bunch of TeX macros, i.e. it was meant to be macro-expanded, not parsed. And the old makeinfo did exactly that: it _emulated_ macro expansion, it didn't parse anything. And it did that inline, i.e. as it was scanning the source. > In comparison, "rm info/elisp.info; time make info" says that it needed > 57s to make up the elisp.info file. More than 10 times slower to do > a simpler job. > > There must be either something I'm missing, or some serious performance > bug somewhere. Look at the parser code, and I'm sure you will see it. ^ permalink raw reply [flat|nested] 7+ messages in thread
* how to build emacs without documentation? @ 2013-08-11 14:27 Gregor Zattler 2013-08-13 15:52 ` Glenn Morris 0 siblings, 1 reply; 7+ messages in thread From: Gregor Zattler @ 2013-08-11 14:27 UTC (permalink / raw) To: help-gnu-emacs Dear emacs users and developers, how do I build emacs without building the documentation in the same process? Reason: I want to bisect the emacs commit history in order to find the commit which introduced some regression. Building the info files, pdf files etc every time is time consuming and not relevant to the regression. Ciao, Gregor -- -... --- .-. . -.. ..--.. ...-.- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: how to build emacs without documentation? 2013-08-11 14:27 Gregor Zattler @ 2013-08-13 15:52 ` Glenn Morris 0 siblings, 0 replies; 7+ messages in thread From: Glenn Morris @ 2013-08-13 15:52 UTC (permalink / raw) To: help-gnu-emacs Gregor Zattler wrote: > how do I build emacs without building the documentation in the same > process? Either try configure --without-makeinfo (though that may fail), or instead of plain `make' or `make bootstrap', try make bootstrap-clean ./autogen.sh ./configure [...] make all ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-08-14 17:56 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.3001.1376231269.12400.help-gnu-emacs@gnu.org> 2013-08-13 14:51 ` how to build emacs without documentation? Stefan Monnier 2013-08-13 15:26 ` Rustom Mody 2013-08-13 16:32 ` Eli Zaretskii [not found] ` <mailman.3136.1376411515.12400.help-gnu-emacs@gnu.org> 2013-08-14 16:49 ` Stefan Monnier 2013-08-14 17:56 ` Eli Zaretskii 2013-08-11 14:27 Gregor Zattler 2013-08-13 15:52 ` Glenn Morris
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).