brucemiller / LaTeXML

LaTeXML: a TeX and LaTeX to XML/HTML/ePub/MathML translator.
http://dlmf.nist.gov/LaTeXML/
Other
873 stars 93 forks source link

Problem width loading expl3-code.tex #2268

Open charlyms opened 7 months ago

charlyms commented 7 months ago

Hello, does anyone have an idea why latexml sometimes stucks at the point: | Digesting > Processing > Loading > Loading > Loading > Processing > Processing definitions C:/Users/.../.../l |ernel.tds/tex/latex/l3kernel/expl3-code.tex

dginev commented 7 months ago

Hi @charlyms ,

Yes, we are certainly aware of expl3 being slow. It is currently borderline unusable on texlive 2022 and older (~10 minutes per run) and completely unusable on texlive 2023 (~20 minutes of load time).

And that is on linux installations. You pay an additional slowdown penalty on Windows, which has a slower Perl interpreter.

There are 2 plans to address this in future latexml milestones:

For now my best advice is to 1) try to avoid expl3 when possible and 2) use texlive 2021 or 2022 for optimal results.

nschloe commented 7 months ago

A larger ongoing effort is entirely rewriting latexml in the Rust programming language

:partying_face:

orbita2d commented 2 weeks ago

Can you not just save built artifacts for each package to a local directory? Surely better than a 20 min build time?

dginev commented 2 weeks ago

Can you not just save built artifacts for each package to a local directory? Surely better than a 20 min build time?

Yes, but not without making the right amount of preparatory work (see #2358 for an example of just one preliminary piece). There is merit to having a \dump-like capability in LaTeXML and @brucemiller already has a working prototype that could amortize the 20 minutes.

The 20 min build time is also a sign that LaTeX 3 support in LaTeXML is not properly tested on newer texlive versions (2023, 2024). There may be other regressions lurking there.

So the most sensible short term strategy is to "just" avoid such loads entirely for now.