summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/context-performance.tex
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-26 13:38:18 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-26 13:38:18 +0100
commit788487819ccf38a8478cc2afd88e0c0b088d0ec1 (patch)
tree215addbe3b9e293c2958227e7fc8923880b2e71f /tex/context/base/mkiv/context-performance.tex
parentadfe72d5a0c9d7bdc1bd7bc8faabb4d05e21d70a (diff)
downloadcontext-788487819ccf38a8478cc2afd88e0c0b088d0ec1.tar.gz
2016-03-26 13:07:00
Diffstat (limited to 'tex/context/base/mkiv/context-performance.tex')
-rw-r--r--tex/context/base/mkiv/context-performance.tex23
1 files changed, 19 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/context-performance.tex b/tex/context/base/mkiv/context-performance.tex
index c012c992c..dd3768664 100644
--- a/tex/context/base/mkiv/context-performance.tex
+++ b/tex/context/base/mkiv/context-performance.tex
@@ -4,6 +4,8 @@
\starttext
+\subject {About performance}
+
If you use \PDFTEX, \XETEX\ and \LUATEX\ you will notice a difference in speed.
Don't draw conclusions too easily from simple tests like:
@@ -30,9 +32,9 @@ So, it's best to compare speeds with a mixed content document: multiple fonts,
text and math, images, \METAPOST\ graphics, structural components, tables, etc.
On the average \PDFTEX\ is the fastest, but offering less functionality, while
-\LUATEX\ with \MKIV\ is faster than \XETEX\ with \MKII. On complex products like
-the \METAFUN\ manual or when processing complex \XML\ files a \LUATEX\ is much
-faster than a \PDFTEX\ run.
+\LUATEX\ with \MKIV\ is often faster than \XETEX\ with \MKII. On complex products
+like the \METAFUN\ manual or when processing complex \XML\ files a \LUATEX\ is
+much faster than a \PDFTEX\ run.
There is some startup time involved which is normally not that much, and initial
font loading is also not really a burden, but of course for a few page document
@@ -40,7 +42,8 @@ it brings down the number of pages processed per second. Normalizing the input
takes a bit but applying \OPENTYPE\ font features takes much more. If you find
unacceptable bottlenecks just let me know (but better first check performance in
the other engines). Of course inefficient coding of styles (massive font switches
-where a simple one could do) are no reason for a complaint.
+where a simple one could do) are no reason for a complaint. Keep in mind:
+flexibility comes at a price.
A lot of time went into making sure that \CONTEXT\ runs efficiently on \LUATEX\
and we keep improving the performance. This is not so much an engine issue but
@@ -48,4 +51,16 @@ more one of the macro package. Of course what is true for \CONTEXT\ \MKIV\ can b
different for other macro packages but comparing with them makes no sense because
the differences in functionality.
+There are many features in \CONTEXT\ \MKIV\ that demand analysis of the text
+stream and when a spot is found where that feature has to be applied some actions
+takes place. Most such features don't have an impact on overall performance (due
+to the analysis) unless they are used. Of course font processing has the largest
+impact, but they are also the most flexible and extensible feature, especially
+when you use dynamic features. And font processing is always enabled. Speed has
+been improved over time and we're currently at a point that further speedup makes
+not much sense and would only make the code more complex. This is not to say that
+we cannot improve performance in the future.
+
+Hans Hagen \crlf Hasselt NL
+
\stoptext