1

I have written a build system in sublime text 3 to build markdown files and convert them to pdf.

my system is:

  • OS: Windows 10
  • MiKTeX version: MiKTeX 20.12
  • pdflatex version: MiKTeX-pdfTeX 4.1

To build a md file with one word ("test") it takes 17.5 seconds inside sublime text.

I have done some profiling with the powershell using the eisvogel template:

  1. conversion md to tex with pandoc: 0.0907997 [s]
  2. conversion: tex to pdf with pdflatex: 6.3132436 [s]
  3. conversion md to pdf with pandoc: 13.2551959 [s]

If I run 1 and 2 in sublime text 3 the process lasts ca. 8 seconds and the console prints this:

LaTeX2e <2020-10-01> patch level 3
L3 programming layer <2020-12-07> xparse <2020-03-03>
(C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scra
rtcl.cls
Document Class: scrartcl 2020/09/21 v3.32 KOMA-Script document class (article)

(C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrk base.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrb ase.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrl file.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrl file-hook.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrl ogo.sty))) ("C:\Program Files\MiKTeX\tex/latex/graphics\keyval.sty"))) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\tocb asic.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\scrs ize11pt.clo) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/koma-script\type area.sty)) ("C:\Program Files\MiKTeX\tex/latex/amsmath\amsmath.sty" For additional information on amsmath, use the `?' option. ("C:\Program Files\MiKTeX\tex/latex/amsmath\amstext.sty" ("C:\Program Files\MiKTeX\tex/latex/amsmath\amsgen.sty")) ("C:\Program Files\MiKTeX\tex/latex/amsmath\amsbsy.sty") ("C:\Program Files\MiKTeX\tex/latex/amsmath\amsopn.sty")) ("C:\Program Files\MiKTeX\tex/latex/amsfonts\amssymb.sty" ("C:\Program Files\MiKTeX\tex/latex/amsfonts\amsfonts.sty")) ("C:\Program Files\MiKTeX\tex/latex/lm\lmodern.sty") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/setspace\setspac e.sty) ("C:\Program Files\MiKTeX\tex/generic/iftex\ifxetex.sty" ("C:\Program Files\MiKTeX\tex/generic/iftex\iftex.sty")) ("C:\Program Files\MiKTeX\tex/generic/iftex\ifluatex.sty") ("C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty" ("C:\Program Files\MiKTeX\tex/latex/lm\t1lmr.fd")) ("C:\Program Files\MiKTeX\tex/latex/base\inputenc.sty") ("C:\Program Files\MiKTeX\tex/latex/base\textcomp.sty") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/upquote\upquote. sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/microtype\microt ype.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/microtype\microt ype-pdftex.def) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/microtype\microt ype.cfg)) ("C:\Program Files\MiKTeX\tex/latex/xcolor\xcolor.sty" ("C:\Program Files\MiKTeX\tex/latex/graphics-cfg\color.cfg") ("C:\Program Files\MiKTeX\tex/latex/graphics-def\pdftex.def") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/colortbl\colortb l.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/latex-tools\arra y.sty)) ("C:\Program Files\MiKTeX\tex/latex/graphics\dvipsnam.def") ("C:\Program Files\MiKTeX\tex/latex/xcolor\svgnam.def") ("C:\Program Files\MiKTeX\tex/latex/xcolor\x11nam.def")) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/xurl\xurl.sty ("C:\Program Files\MiKTeX\tex/latex/url\url.sty")) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/bookmark\bookmar k.sty ("C:\Program Files\MiKTeX\tex/latex/hyperref\hyperref.sty" (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/ltxcmds\ltxcmd s.sty) ("C:\Program Files\MiKTeX\tex/generic/pdftexcmds\pdftexcmds.sty" (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/infwarerr\infw arerr.sty)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/kvsetkeys\kvse tkeys.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/kvdefinekeys\k vdefinekeys.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/pdfescape\pdfe scape.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/hycolor\hycolor. sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/letltxmacro\letl txmacro.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/auxhook\auxhook. sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/kvoptions\kvopti ons.sty) ("C:\Program Files\MiKTeX\tex/latex/hyperref\pd1enc.def") (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/intcalc\intcal c.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/etexcmds\etexc mds.sty) ("C:\Program Files\MiKTeX\tex/latex/hyperref\puenc.def") (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/bitset\bitset. sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/bigintcalc\big intcalc.sty)) ("C:\Program Files\MiKTeX\tex/latex/base\atbegshi-ltx.sty")) ("C:\Program Files\MiKTeX\tex/latex/hyperref\hpdftex.def" ("C:\Program Files\MiKTeX\tex/latex/base\atveryend-ltx.sty") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/rerunfilecheck\r erunfilecheck.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/uniquecounter
uniquecounter.sty))) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/bookmark\bkm-pdf tex.def)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/geometry\geometr y.sty ("C:\Program Files\MiKTeX\tex/generic/iftex\ifvtex.sty") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/geometry\geometr y.cfg)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/footnotebackref
footnotebackref.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/float\float.sty) ("C:\Program Files\MiKTeX\tex/generic/babel\babel.sty" ("C:\Program Files\MiKTeX\tex/generic/babel\babel.def" ("C:\Program Files\MiKTeX\tex/generic/babel\txtbabel.def"))


  • Local config file bblopts.cfg used

("C:\Program Files\MiKTeX\tex/latex/arabi\bblopts.cfg") ("C:\Program Files\MiKTeX\tex/latex/babel-english\english.ldf")) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/csquotes\csquote s.sty ("C:\Program Files\MiKTeX\tex/latex/etoolbox\etoolbox.sty") (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/csquotes\csquote s.def) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/csquotes\csquote s.cfg)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/caption\caption. sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/caption\caption3 .sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/caption\caption- koma.sto))) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/mdframed\mdframe d.sty ("C:\Program Files\MiKTeX\tex/latex/l3packages/xparse\xparse.sty" ("C:\Program Files\MiKTeX\tex/latex/l3kernel\expl3.sty" ("C:\Program Files\MiKTeX\tex/latex/l3backend\l3backend-pdftex.def")) ("C:\Program Files\MiKTeX\tex/latex/l3packages/xparse\xparse-generic.tex")) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/zref\zref-abspag e.sty (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/zref\zref-base.s ty)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/needspace\needsp ace.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/mdframed\md-fram e-0.mdf)) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/sourcesanspro\so urcesanspro.sty ("C:\Program Files\MiKTeX\tex/latex/xkeyval\xkeyval.sty" ("C:\Program Files\MiKTeX\tex/generic/xkeyval\xkeyval.tex" ("C:\Program Files\MiKTeX\tex/generic/xkeyval\xkvutils.tex"))) ("C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty" (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/ly1\ly1enc.def ("C:\Program Files\MiKTeX\tex/latex/base\ly1enc.dfu")))) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/sourcecodepro\so urcecodepro.sty ("C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty" (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/sourcesanspro\t1 sourcesanspro-tlf.fd))) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/titling\titling. sty)

Class scrartcl Warning: Usage of package fancyhdr' together (scrartcl) with a KOMA-Script class is not recommended. (scrartcl) I'd suggest to use (scrartcl) packagescrlayer' or scrlayer-scrpage', because (scrartcl) they support KOMA-Script classes. (scrartcl) Withfancyhdr' several features of class scrartcl' (scrartcl) like optionsheadsepline', footsepline' or command (scrartcl)\MakeMarkcase' and the commands \setkomafont' and (scrartcl)\addtokomafont' for the page style elements need (scrartcl) explicite user intervention to work. (scrartcl) Nevertheless, using requested (scrartcl) package `fancyhdr' on input line 248.

(C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/fancyhdr\fancyhd r.sty) (test.aux) (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/ly1\ly1ptm.fd) ("C:\Program Files\MiKTeX\tex/context/base/mkii\supp-pdf.mkii" [Loading MPS to PDF converter (version 2006.09.02).] ) ("C:\Program Files\MiKTeX\tex/latex/hyperref\nameref.sty" (C:\Users\username\AppData\Roaming\MiKTeX\tex/latex/refcount\refcoun t.sty) (C:\Users\username\AppData\Roaming\MiKTeX\tex/generic/gettitlestring \gettitlestring.sty)) geometry driver: auto-detecting geometry detected driver: pdftex [1{C:/Users/username/AppData/Local/MiKTeX/pdftex/config/pdftex.map}] (test.aux) ){C:/Users/username/AppData/Roaming/MiKTeX/fonts/enc/dvi ps/sourcesanspro/a_emkxm5.enc}<C:/Users/username/AppData/Roaming/MiK TeX/fonts/type1/adobe/sourcesanspro/SourceSansPro-Regular.pfb> Output written on test.pdf (1 page, 53720 bytes). Transcript written on test.log.

With the same build system on a macbook pro (M1 processor, late 2020, texlive installed), the process with pandoc from md to pdf lasts less than 2 seconds.

Do you have any idea why miktex is ~3 times slower than texlive?

brodegon
  • 217
  • If your processing pipeline has to access many files, then this may be an explanation: Windows often proves significantly slower in accessing the file system than Linux or Unix-type operating systems. I don't think that it is a MiKTeX vs. TeXlive issue. – gernot Jan 12 '21 at 19:51
  • 1
    It may not be relevant to the timing (but it may) but your log shows a classic miktex issue of a mixture of admin and user mode installs, some of your files coming from C:\Users\username\AppData\Roaming\MiKTeX\tex/latex and some from C:\Program Files\MiKTeX\tex/latex if you update the system in both user and admin mode you will get consistent paths – David Carlisle Jan 12 '21 at 22:31
  • @DavidCarlisle that's reeaaaally interesting. How could I update the system? Uninstall and re-install. I think you got the point. – brodegon Jan 13 '21 at 15:21
  • I don't use miktex but (from saying this 10000 times on this site) going to the miktex console and updating in user and admin mode fixes many issues. – David Carlisle Jan 13 '21 at 16:17
  • I ended up uninstalling and installing miktex in user-only mode. There is a speed gain, i.e. compiling is ~10% faster. I found some helpful information about this here (see Speravir answer!) – brodegon Jan 13 '21 at 17:03
  • @gernot for that to have any appreciable difference, you'd need to have thousands of files – Cocowalla Jun 18 '21 at 15:07

0 Answers0