To test Mico's upcoming selnolig package, I tried out LuaLaTeX. While the overall experience for me as a pdfLaTeX end-user was very similar, I noticed that LuaLaTeX takes a long time to load fonts. Here is a sample document that I compiled several times (lualatex foo.tex), measuring the compilation time unscientifically with a clock, deleting the auxiliary files between each compile (latexmk -c foo.tex), and trying different fontspec configurations.
\documentclass{article}
% the following lines were included in:
\usepackage{fontspec} % A, B, C
\setmainfont{Minion Pro} % B, C
\setsansfont{Myriad Pro} % C
\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}
My timing results turned out the same ±1s for three runs each, so I assume they are reliable:
A (just fontspec) 10s B (+ Minion Pro) 33s C (+ Myriad Pro) 39s C (using XeLaTeX) 7s (just as a comparison)
Killing all processes that I knew I could safely kill, including but not limited to things you tend to have open while TeXing like an editor and a browser, brought down compilation times for configuration C to 26s (LuaLaTeX) and 4s (XeLaTeX). (Cf. my comment to topskip)
When the compilation became slow the following lines were displayed in the command line output (the log file contains the same information with a lot more information in between):
luaotfload | Font names database loaded: C:/Users/doncherry/AppData/Local/MiKTeX/2. 9/luatex-cache/generic/names/otfl-names.lua(load: C:/Users/doncherry/AppData/Local/ MiKTeX/2.9/luatex-cache/generic/fonts/otf/temp-minionpro-regular.lua)(load: C:/ Users/doncherry/AppData/Local/MiKTeX/2.9/luatex-cache/generic/fonts/otf/temp-minion pro-bold.lua)(load: C:/Users/doncherry/AppData/Local/MiKTeX/2.9/luatex-cache/generi c/fonts/otf/temp-minionpro-it.lua)(load: C:/Users/doncherry/AppData/Local/MiKTeX/2. 9/luatex-cache/generic/fonts/otf/temp-minionpro-boldit.lua)(load: C:/Users/doncher ry/AppData/Local/MiKTeX/2.9/luatex-cache/generic/fonts/otf/temp-myriadpro-regula r.lua)(load: C:/Users/doncherry/AppData/Local/MiKTeX/2.9/luatex-cache/generic/fonts /otf/temp-myriadpro-bold.lua)(load: C:/Users/doncherry/AppData/Local/MiKTeX/2.9/lua tex-cache/generic/fonts/otf/temp-myriadpro-it.lua)(load: C:/Users/doncherry/AppData /Local/MiKTeX/2.9/luatex-cache/generic/fonts/otf/temp-myriadpro-boldit.lua)
The keywords cache and temp appearing here made me think there might be some way to store this information permanently so that it doesn't have to be created each time?
I used LuaTeX, Version beta-0.70.2-2012060719 (MiKTeX 2.9) (format=lualatex 2012.9.9) on Windows 7 64 bit. The fonts are the ones provided through Adobe Reader X, manually installed by me to C:\Windows\Fonts.
So my question is: Why is the compilation with LuaLaTeX so slow and can I do anything about that?
\usepackage{libertineotf}as an example. – Martin Schröder Oct 03 '12 at 22:16lualatexhave improved this; there is a noticable speed up. – Andrew Swann Jan 21 '15 at 07:46