From 41b7410a8c636d2f5f996549850ab0c808eccffb Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Fri, 17 Jun 2022 13:18:39 +0800 Subject: [PATCH] doc/Makefile: Limit memory consumption when generating docs * doc/Makefile: Do not disable garbage collection completely (as it was after 3684c7967) when generating docs. Use no too large 50Mb `gc-cons-threshold' instead. See https://yhetil.org/emacs-devel/9778F176-E724-4E61-B0FB-327BCDD316C0@acm.org for the testing behind the 50Mb constant. --- doc/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index 5911bd08a..f0e89884a 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -27,18 +27,24 @@ guide:: orgguide.texi org-version.inc ../mk/guidesplit.pl $@/* endif +# We increase GC threshold when generating documentation. This +# imrpoves the performance significantly. See +# https://yhetil.org/emacs-devel/9778F176-E724-4E61-B0FB-327BCDD316C0@acm.org +# Too high number may cause memory overflow (for example, it has +# happened in CI during automated build). We choose 50Mb threshold, +# based on the above discussion. org.texi: org-manual.org $(BATCH) \ --eval '(add-to-list `load-path "../lisp")' \ --eval '(load "../mk/org-fixup.el")' \ - --eval '(setq gc-cons-threshold most-positive-fixnum)' \ + --eval '(setq gc-cons-threshold (* 50 1000 1000))' \ --eval '(org-make-manual)' orgguide.texi: org-guide.org $(BATCH) \ --eval '(add-to-list `load-path "../lisp")' \ --eval '(load "../mk/org-fixup.el")' \ - --eval '(setq gc-cons-threshold most-positive-fixnum)' \ + --eval '(setq gc-cons-threshold (* 50 1000 1000))' \ --eval '(org-make-guide)' org-version.inc: org.texi