public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	mliska@suse.cz
Subject: Re: [PATCH] docs: Fix the docs build with Sphinx 6.0
Date: Sun, 8 Jan 2023 15:01:35 +0100	[thread overview]
Message-ID: <20230108150135.060b0c7a@coco.lan> (raw)
In-Reply-To: <cb916eae-fdf6-504f-8f38-7928e0fa8344@gmail.com>

Em Sat, 7 Jan 2023 14:17:24 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:

> On Wed, 04 Jan 2023 13:45:35 -0700, Jonathan Corbet wrote:
> > Sphinx 6.0 removed the execfile_() function, which we use as part of the
> > configuration process.  They *did* warn us...  Just open-code the
> > functionality as is done in Sphinx itself.
> > 
> > Tested (using SPHINX_CONF, since this code is only executed with an
> > alternative config file) on various Sphinx versions from 2.5 through 6.0.
> > 
> > Reported-by: Martin Liška <mliska@suse.cz>
> > Signed-off-by: Jonathan Corbet <corbet@lwn.net>  
> 
> I have tested full builds of documentation with this change
> with Sphinx versions 1.7.9, 2.4.5, 3.4.3, 4.5.0, 5.3.0, and 6.0.0.
> 
> Tested-by: Akira Yokosawa <akiyks@gmail.com>
> 
> That said, Sphinx 6.0.0 needs much more time and memory than earlier
> versions.
> 
> FYI, I needed to limit parallel slot to 2 (make -j2) on a 16GB machine.
> If you are lucky, -j3 and -j4 might succeed. -j5 or more ended up in
> OOM situations for me:
> 
> Comparison of elapsed time and maxresident with -j2:
> 
>   ============== ============ ===========
>   Sphinx version elapsed time maxresident
>   ============== ============ ===========
>   5.3.0          10:16.81      937660
>   6.0.0          17:29.07     5292392
>   ============== ============ ===========

From the changelogs:
	https://www.sphinx-doc.org/en/master/changes.html

It seems that 6.1 came with some performance optimizations, in particular:

    Cache doctrees in the build environment during the writing phase.

    Make all writing phase tasks support parallel execution.

    Cache doctrees between the reading and writing phases.

It would be nice if you could also test and check elapsed time
there too, as I suspect that 6.0 will have a very short usage, as
6.1 was released just a few days after it.

Regards,
Mauro.



> 
>         Thanks, Akira
> 
> > ---
> >  Documentation/sphinx/load_config.py | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/Documentation/sphinx/load_config.py b/Documentation/sphinx/load_config.py
> > index eeb394b39e2c..8b416bfd75ac 100644
> > --- a/Documentation/sphinx/load_config.py
> > +++ b/Documentation/sphinx/load_config.py
> > @@ -3,7 +3,7 @@
> >  
> >  import os
> >  import sys
> > -from sphinx.util.pycompat import execfile_
> > +from sphinx.util.osutil import fs_encoding
> >  
> >  # ------------------------------------------------------------------------------
> >  def loadConfig(namespace):
> > @@ -48,7 +48,9 @@ def loadConfig(namespace):
> >              sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
> >              config = namespace.copy()
> >              config['__file__'] = config_file
> > -            execfile_(config_file, config)
> > +            with open(config_file, 'rb') as f:
> > +                code = compile(f.read(), fs_encoding, 'exec')
> > +                exec(code, config)
> >              del config['__file__']
> >              namespace.update(config)
> >          else:
> > -- 
> > 2.38.1  



Thanks,
Mauro

  reply	other threads:[~2023-01-08 14:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04 20:45 [PATCH] docs: Fix the docs build with Sphinx 6.0 Jonathan Corbet
2023-01-07  5:17 ` Akira Yokosawa
2023-01-08 14:01   ` Mauro Carvalho Chehab [this message]
2023-01-09 14:14     ` Martin Liška
2023-01-09 15:17       ` Akira Yokosawa
2023-01-11 23:13         ` Akira Yokosawa
2023-01-12 16:22           ` Martin Liška
2023-01-14  1:06             ` Akira Yokosawa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230108150135.060b0c7a@coco.lan \
    --to=mchehab@kernel.org \
    --cc=akiyks@gmail.com \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mliska@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox