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

Mojca Miklavec mojca.miklavec.lists at gmail.com
Sat Mar 17 10:17:47 CET 2018


On 12 March 2018 at 11:50, jfbu wrote:
> Le 12 mars 2018 à 10:25, Mojca Miklavec a écrit :
>
>> Dear Jean-François,
>>
>> Would you be willing to repeat the performance experiment with
>> http://dl.contextgarden.net/build/texlive/x86_64-darwinlegacy.tar.xz
>
> Sure. Results are very good. I am on a slower Mac compared to the
> other day, so I repeated timings. To test pdftex and xetex
> I copied temptest2.tex into temptest3.tex and there I reduced
> macro \E to 4 times \D, not 10 times (else I would have to change
> a memory setting:
>
>> ! TeX capacity exceeded, sorry [main memory size=5000000]
>
> )
>
> Here are typical averaged timings
>
> tex temptest.tex
>
> self-compiled (./Build) :
> real    0m1.595s
> user    0m1.576s
> sys     0m0.015s
>
> from Mojca :
> real    0m1.777s
> user    0m1.758s
> sys     0m0.014s
>
>
> pdftex temptest2.tex (4/10th of the luatex test)
>
> self-compiled :
> real    0m6.652s
> user    0m6.618s
> sys     0m0.028s
>
> Mojca :
> real    0m7.089s
> user    0m7.058s
> sys     0m0.024s
>
>
> xetex temptest2.tex
>
> self-compiled :
> real    0m6.692s
> user    0m6.608s
> sys     0m0.077s
>
> Mojca :
> real    0m7.024s
> user    0m6.943s
> sys     0m0.077s
>
> luatex temptest3.tex (10/4 fold duration of tex/xetex test)
>
> self-compiled :
> real    0m17.929s
> user    0m17.861s
> sys     0m0.061s
>
> Mojca :
> real    0m17.954s
> user    0m17.885s
> sys     0m0.061s
>
>
> This is on a computer which is about 15%/20% slower than the one where
> I initially tested. Thus the improvement is fantastic because the earlier
> version of darwinlegacy on that last test would have given something like
> 28s, 29seconds.
>
> (I timed it but now the binary is gone and I have forgotten
> the exact result; with TeXLive 2017 darwinlegacy it is about 24.5 seconds
> and with the TeX Live 2017/MacPorts 2017_2 luatex 1.0.4 it is between
> 18.5 and 19 seconds)
>
> Thus, the results above appear to completely solve my issue which was
> dating back to last year and temporarily appeared to have gotten worse
> with the first apple-darwin10.8.0

Great.

The issue was apparently that by explicitly setting
    CFLAGS & CXXFLAGS
to *something*, the optimisation was apparently gone completely. I now
added an explicit "-Os" to those flags and it seems that this solved
the problem. I noticed that C[whatever]FLAGS are not always applied,
so there might be some compiler calls without optimisation. The small
remaining difference might come from anywhere, I would not worry about
that too much.

I have now put those binaries to subversion. At the moment the caveat
is that they only work out of the box on Lion (10.7) or later, and on
10.6 if the user installed libc++ explicitly (MacPorts would install
it automatically for users who attempt to build at least one C++11
project with clang, I have no clue whether HomeBrew does anything in
that direction).

I'm still thinking about whether or not to worry about those users and
ship libc++ with TeX Live (binaries would need to be modified to allow
automatic search of the library). A much easier way would be to print
some notes in case the user doesn't have that file installed.

> digression
>
> still struggling with dvisvgm though at this time
>
> by the way, with the Mojca's one, I also do need to use --libgs as in
>
> $ dvisvgm --libgs="/opt/local/lib/libgs.dylib" temp.dvi
>
> it seems dlopen does not find automatically that /opt/local/lib location
>
> but this is other topic

I started another thread on tlbuild about this.

Mojca



More information about the tex-live mailing list