[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Post release texi2any performance regression
From: |
Gavin Smith |
Subject: |
Re: Post release texi2any performance regression |
Date: |
Sun, 5 Nov 2023 15:40:36 +0000 |
On Sun, Nov 05, 2023 at 11:59:11AM +0100, Patrice Dumas wrote:
> On Sat, Nov 04, 2023 at 04:06:05PM +0000, Gavin Smith wrote:
> > > At that point, using a new env variable to use perl for
> > > structuring/transformations would be very easy based on your patch.
> > > If you give a name, I can do it.
> >
> > Would TEXINFO_XS_STRUCTURE be ok?
>
> Should be done in
> https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=403894ff57d87dd86411f15105404197f3183d34
>
> I timed
> ./texi2any.pl ../doc/texinfo.texi
>
> with 7.1, nothing set in the environment, TEXINFO_XS_STRUCTURE set and
> TEXINFO_XS_CONVERT set (which should be very similar to nothing set in
> the environment for info output, except that some modules are not
> loaded). I find that 7.1 is about 2% slower and the others are
> undistinguishable.
Thanks for adding the variable.
Although master was faster than 7.1, it should have been even faster,
because of the other slowdown. Now that the recent change with
documentlanguage has been reverted, I'm happy that we're finally back
to having no more significant slowdown (for XS execution).
With the new XS modules enabled, it is actually faster now than 7.1 was.
The effect depends on the manual in question. If it uses @def* commands
a lot this can make a big difference. I regularly check the glibc
manual and the elisp manual as these are among the largest commonly used
Texinfo manuals. texinfo.texi is a relatively small manual. (I'm open
to suggestions of other manuals worth checking for performance, too.)
Here's a typical comparison:
master:
$ time ../tp/texi2any.pl ../../libc/libc.texinfo
creature.texi:309: warning: `.' or `,' must follow @xref, not f
real 0m5.931s
user 0m5.699s
sys 0m0.225s
7.1:
$ time texi2any ../../libc/libc.texinfo
creature.texi:309: warning: `.' or `,' must follow @xref, not f
real 0m5.978s
user 0m5.755s
sys 0m0.220s
master:
$ time ../tp/texi2any.pl ../../emacs-lispref-27.2/elisp.texi
functions.texi:2390: warning: @inforef is obsolete
errors.texi:226: warning: unexpected argument on @ignore line: The following
seem to be unused now.
real 0m5.416s
user 0m5.189s
sys 0m0.220s
7.1:
$ time texi2any ../../emacs-lispref-27.2/elisp.texi
functions.texi:2390: warning: @inforef is obsolete
errors.texi:226: warning: unexpected argument on @ignore line: The following
seem to be unused now.
real 0m5.471s
user 0m5.269s
sys 0m0.200s
- Re: Post release texi2any performance regression, (continued)
- Re: Post release texi2any performance regression, Gavin Smith, 2023/11/04
- Re: Post release texi2any performance regression, Patrice Dumas, 2023/11/05
- Use "simple parsers" for translations again?, Gavin Smith, 2023/11/24
- Re: Use "simple parsers" for translations again?, Patrice Dumas, 2023/11/25
- Re: Use "simple parsers" for translations again?, Gavin Smith, 2023/11/25
- Re: Use "simple parsers" for translations again?, Gavin Smith, 2023/11/25
- Re: Post release texi2any performance regression, Gavin Smith, 2023/11/04
- Re: Post release texi2any performance regression, Patrice Dumas, 2023/11/05
- Re: Post release texi2any performance regression, Gavin Smith, 2023/11/05
- Re: Post release texi2any performance regression, Patrice Dumas, 2023/11/05
- Re: Post release texi2any performance regression,
Gavin Smith <=