[tex-live] Request for performance check of legacy darwin (luatex)

jfbu jfbu at free.fr
Sat Mar 10 15:02:22 CET 2018


Hi Mojca

Le 9 mars 2018 à 09:40, Mojca Miklavec <mojca.miklavec.lists at gmail.com> a écrit :

> On 8 March 2018 at 14:38, jfbu wrote:
>> 
>> Here is with luatex on the same test file
>> 
>> $ time luatex temptest.tex
>> This is LuaTeX, Version 0.95.0 (TeX Live 2016)
>> restricted system commands enabled.
>> (./temptest.tex . . . . . . . . . .)
>> warning  (pdf backend): no pages of output.
>> Transcript written on temptest.log.
>> 
>> real    0m1.585s
>> user    0m1.561s
>> sys     0m0.018s
>> 
>> $ time luatex temptest.tex
>> This is LuaTeX, Version 1.0.4 (TeX Live 2017/MacPorts 2017_1)
>> restricted system commands enabled.
>> (./temptest.tex . . . . . . . . . .)
>> warning  (pdf backend): no pages of output.
>> Transcript written on temptest.log.
>> 
>> real    0m1.745s
>> user    0m1.716s
>> sys     0m0.025s
>> 
>> $ time luatex temptest.tex
>> This is LuaTeX, Version 1.07.0 (TeX Live 2018)
>> restricted system commands enabled.
>> (./temptest.tex . . . . . . . . . .)
>> warning  (pdf backend): no pages of output.
>> Transcript written on temptest.log.
>> 
>> real    0m2.618s
>> user    0m2.593s
>> sys     0m0.020s
> 
> Thank you very much. There's evidently something "wrong" with
> efficiency of the binaries generated with the latest clang compiler,
> but it's not exactly clear to me why this would be the case. 75%
> slowdown is very significant.
> 
> I'll try to use your testcase and prepare a few more variants of
> binaries to test (using different compilers and compiler options).
> 
> This got me thinking. I'm always setting up some CXXFLAGS. I wonder if
> the results would be any faster if I omit CXXFLAGS as setting the
> flags might override some optimisation that would otherwise be set.
> 
> I don't find your question any longer, but no, MacTeX won't work on 10.9.
> 

ok, thanks

I got some news.

I rsynced the TeXLive sources and followed the instructions for vanilla
build of binaries i.e. I simply exectued the ./Build script.

I found the binaries in a x86_64-apple-darwin13.4.0 named repertory
which I moved to /usr/local/texlive/2018/bin location

and build the formats via fmtutil-sys --all

fmtutil [INFO]: Disabled formats: 2
fmtutil [INFO]: Successfully rebuilt formats: 22
fmtutil [INFO]: Total formats: 24
fmtutil [INFO]: exiting with status 0


Then I tried my test file, and I typically get

$ time tex temptest.tex
This is TeX, Version 3.14159265 (TeX Live 2018) (preloaded format=tex)
(./temptest.tex . . . . . . . . . . )
No pages of output.
Transcript written on temptest.log.

real	0m1.409s
user	0m1.393s
sys	0m0.012s

which is way better than the previously reported 

$ time tex temptest.tex
This is TeX, Version 3.14159265 (TeX Live 2018) (preloaded format=tex)
(./temptest.tex . . . . . . . . . . )
No pages of output.
Transcript written on temptest.log.

real	0m2.310s
user	0m2.295s
sys	0m0.013s

I can not use my temptest2.tex file with pdftex :

Runaway definition?
->\A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \A \ETC.
! TeX capacity exceeded, sorry [main memory size=5000000].

but I can with luatex and I now get

typically

$ time luatex temptest2.tex
This is LuaTeX, Version 1.07.0 (TeX Live 2018) 
 restricted system commands enabled.
(./temptest2.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)
warning  (pdf backend): no pages of output.
Transcript written on temptest2.log.

real	0m15.580s
user	0m15.534s
sys	0m0.045s

to be compared with the 24seconds I had reported from the "10.8.0" binaries

These experiments lead me to two questions :


1. do I have to worry that the ./Build script names the output repertory 
" x86_64-apple-darwin13.4.0"  (I recall I am on 10.9.5)

2. all formats are build, which at least gives me hope that binaries
of the *tex family work. Do I have to expect problems with others ?
Testing all of them would take me lots of time. I tried dvipng and dvisvgm

 - no problem with dvipng on sample2e.dvi

 - regarding dvisvgm I get this 

(
$ dvisvgm sample2e.dvi
processing of PostScript specials is disabled (Ghostscript not found)
pre-processing DVI file (format version 2)
processing page 1
  graphic size: 345.767443pt x 539.999972pt (121.523357mm x 189.788284mm)
  output written to sample2e-1.svg
1 of 3 pages converted in 0.22611 seconds

note: 
Ghostscript is installed 

$ which gs
/opt/local/bin/gs


Then for info

$ dvisvgm --version=true
dvisvgm 2.3.3 (x86_64-apple-darwin13.4.0)
-----------------------------------------
brotli:    1.0.2
clipper:   6.2.1
fontforge: 20160721
freetype:  2.9.0
kpathsea:  6.3.0
potrace:   1.15
woff2:     1.0.1
xxhash:    0.6.4
zlib:      1.2.11

To sum up:

building all binaries myself seems to work, but I don't know where to start
to find which ones will prove unusable on my Mac OS X 10.9.5.

Besides I am worried about whether perl scripts or whatever need any
special intervention, or simply copying over as I did the 

/path/to/texlivesources/source/inst/bin/x86_64-apple-darwin13.4.0

will solve all my problems (despite the name) and I don't have to
modify anything else.

Best

Jean-François




More information about the tex-live mailing list