[tex-live] Comments on asy in the x86_64 2017 pretest binary

Ken Moffat zarniwhoop at ntlworld.com
Wed May 24 20:57:23 CEST 2017


On Wed, May 24, 2017 at 09:11:16AM +0200, Mojca Miklavec wrote:
> On 24 May 2017 at 05:28, Ken Moffat wrote:
> > The reason is that 3D drawing/diagrams in asy seems exceptionally
> > slow in the binary.
> >
[...]
> >
> > 2D drawing does not seem to be impacted.  I see that my own build
> > of asymptote used the following flags in g++ : -Wall -DHAVE_CONFIG_H
> > -D_FILE_OFFSET_BITS=64 -DUSEGC  -pthread -DFFTWPP_SINGLE_THREAD
> > -std=c++11 -g -O3 -fno-var-tracking
> >
> > Also, I throw a lot of system deps at this: gc, fftw, gsl, freeglut,
> > even libsigsegv.
> 
> I don't know about the linux binary in particular. Mac binaries are
> compiled with gc, fftw, gsl statically, but no freeglut or libsigsegv.
> Most binaries are probably only compiled with gc and potentially some
> system opengl libraries.
> 

I have a vague memory that when I was first trying to use/test asy
(in general, not just from TeX) freeglut was needed for "full"
rendering, but that was several versions ago and clearly no longer
true.  And I promoted libsigsegv into my asymptote build because I
will anyway build it for clisp for xindy.

> > I then rebuild Python so it can pick up tk, then
> > build its Imaging module - but from memory that only lets me try to
> > use xasy, and like so many things I have not yet acquired the knack
> > of doing anything useful with that.
> 

> Would you be willing to try to recompile asymptote without some of
> those dependencies and check whether that's indeed the case? It's
> quite possible that slower runtime is caused by asymptote being
> compiled with an ancient non-C++11 compiler.
> 

On the machine with gcc-7.1 that will be difficult (I don't use
formal package management), I'll have a look.

The other thing I changed recently was to allow asymptote to use its
default optimization (-O3) - I was told that is important, but I'm
not sure if that is picked up by the full texlive builds.

> It would be helpful to figure out the *exact* cause of the slow
> binaries. We had problems with slow i386-linux luatex (factor of 2) a
> few weeks ago which turned out to be related to some optimisation
> flags only.
> 
> I assume you are on Linux?

Yes, {,Beyond} Linux From Scratch.

I've also got a SandyBridge i3 with gcc-6.3.  I'm not sure about the
status of texlive there, but since in BLFS we use /opt I guess I can
do much the same tests there - but I see from your follow-up that
you too see the relative speedup.
> 
> Optional libraries for asy are usually not included because it's an
> extra hassle to fetch and compile all the dependencies statically
> first and each person compiling has to go through the trouble of
> repeating those same steps over and over again. If we provide a single
> command to do all the work, it's more likely that the libraries will
> be included over a wider spectrum of supported platforms.
> 
> I wrote a bunch of scripts to compile asy with a bunch of static
> libraries, but the scripts would need slightly more work to be more
> generally usable over a wider spectrum of platforms.
> 
> Going to C++11 will be a "fun experience", leaving many older platforms behind.
> 
> Mojca

Yes indeed.  I'll need to give this some thought before I jump in
and do the wrong things, and I'm supposed to be doing other things,
so probably several days before I follow up.

ĸen
-- 
I live in a city. I know sparrows from starlings.  After that
everything is a duck as far as I'm concerned.  -- Monstrous Regiment


More information about the tex-live mailing list