Run one library on its own: fxTeX · fxTeX Pro · KaTeX · MathJax · Temml · the source page they all render
Each library renders the same 57-equation page (content.html,
57 inline/display equations across algebra, calculus, trig, linear algebra, sets/logic,
probability, and piecewise definitions) loaded fresh into an iframe
per library. load = navigation start → library script ready.
init = the library's own share of that: from its last script byte arriving to
ready, so compile + evaluate + startup work, with the page's own fixed cost taken out.
convert = the actual "scan the page and render every equation" call.
total = load + convert, the number a real visitor would experience.
All timings are the median across runs (min shown in parentheses).
min.js is each library's own minified script size, fetched fresh each run (not
a proxy for the *load* column above - that's cached-script parse/init cost; this is the
one-time download a first-time visitor actually pays, which a same-machine benchmark can't time
honestly - see the README).
All four libraries are served from this folder (vendor/, refreshed with
npm run fetch-libs), never from a CDN, so they share one origin, one server and one
cache. version is read back from the page that actually ran, not from a
manifest. Every completed run is kept in this browser's history below, so a library
update shows as a change against the numbers its previous version produced.