[tex-live] strange discrepancy in running time of etex between TL2015 and TL2017

jfbu jfbu at free.fr
Sat Sep 2 14:52:25 CEST 2017

Le 27 juil. 2017 à 14:44, jfbu <jfbu at free.fr> a écrit :

> Thanks to Nelson, Reinhard, Zdenek, 
> ...
> Here is a no-package version:
> ----
> \def\A{\B\B\B\B\B\B\B\B\B\B}% 10
> \def\B{\C\C\C\C\C\C\C\C\C\C}% 100
> \def\C{\noexpand\A\noexpand\A\noexpand\A\noexpand\A
>       \noexpand\A\noexpand\A\noexpand\A\noexpand\A
>       \noexpand\A\noexpand\A}% 1000
> \edef\D{\A}% 1000
> \edef\E{\D}% 1000000
> \def\A{\edef\z{666}}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \E\message{.}
> \bye
> ----
> Hence now no \numexpr, only Knuth tex
> When I do 
> time tex testspeed.tex
> I consistently get on my iMac 10.9.5:
> - with TL2015: about 1.62s (last digit non-significant)
> - with TL2017: about 2.18s (idem)
> Thus, it appears, but somehow I had overlooked it so far,
> that darwinlegacy tex (et al.) is at least 33% slower on TL2017
> than formerly
> I was aware of that with luatex but had not realized it applied to all tex's
> If something like this is reproduced on other systems than Mac OS 10.9.5
> or more generally the "darwinlegacy", I would be interested to know


I apologize that so far for lack of competency and time
I could not yet attempt building the binaries directly
on my mac os x 10.9.5

Rather, I decided to go the MacPorts [1]_ way, i.e.,
I installed MacPorts then its texlive-bin bundle.

.. [1] https://www.macports.org/install.php

I tried the "only binaries" approach to the latter
(``sudo port -b install texlive-bin``)
but this failed for the ghostscript, gmp, and
poppler dependencies. So I installed these three
from source (i.e. without ``-b``), with MacPorts doing the
local builds, then I could use binary mode for the rest
of texlive-bin.

I then basically moved over the MacPorts binaries
to my TeXLive 2017 installation.

I had to keep the TeXLive 2017 kpse* binaries (particularly
kpsewhich) because it appeared the MacPorts' one
had a hard-coded /opt/local/share setting for TEXMFROOT
(at least this is what `kpsewhich -var-value TEXMFROOT`

[I don't know if really the TEXMFROOT is hard-coded
in the kpsewhich binary]

In details, I copied all of bin/x86_64-darwinlegacy
into a cloned repertory bin/x86_64-darwinmacports,
then I copied over
the binaries from the MacPorts location to that one.

I then adjusted my /Library/TeX/ structure so that 
texbin would point to the bin/x86_64-darwinmacports

Of course, when ``tlmgr update --all`` does some addition
of scripts as happened recently with tlcockpit, I need
to manually create the symlink in my bin/x86_64-darwinmacports
to the scripts/ folder.

I had initially envisioned setting up a mixed texdist
structure with binaries in MacPorts and non-binaries
in TeXLive 2017 as it is already installed on my disk,
but dropped that for the approach above, where I simply
overwrite the TeXLive darwinglegacy binaries with 
the MacPorts ones for macos x 10.9.5

(I don't need to install the rest of TeXLive from MacPorts
as I have it already set-up and working, and maintenance
is done with TeXLive's tlmgr).

Anyway, now execution times for runs of pdftex, etc...,
compare to those of earlier TeXLive, i.e. are roughly
33% smaller than those of darwinlegacy, i.e., when the
pdftex of darwinlegacy needs 15s, the one of MacPorts needs

I wish I could provide details of how the binary builds
are done on my mac os X 10.9.5, but as said above I 
installed pre-compiled binaries and anyway all the things
were handled by MacPorts.

As a side remark both MacPorts and Fink support Mavericks
(aka macos x 10.9.5) still.

Perhaps Apple does not distribute security patches
(I think it must do in extreme situations like the bash
vulnerability of a year or two ago) for Mavericks, i.e.
for a system released only 5 years ago, but I do not wish
to contribute to this "programmed obsolescence" whose only
aim is to bloat software to force people to buy new hardware.

Currently, the binaries include pdftex, dvisvgm (now 2.1.3),
xdvipdfmx, xetex ...
but not asymptote or latexmk 
which are not included in the MacPorts texlive-bin port
(but are included surely in other portfiles)



PS: to be complete, I point out that I had a problem
with MacPorts install of gmp [2], whose resolution
consisted in suppression of some sub-sub-repertory of
/var/folders/ which had wrong group:owner:permissions

.. [2] https://trac.macports.org/ticket/54704

More information about the tex-live mailing list