diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-06-02 23:42:05 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2018-06-02 23:42:05 +0200 |
commit | ac0e3262fb027e4ab586204bf2d5a05e9a831933 (patch) | |
tree | aa43c752abe60ee65a9a9b09b32fa19ee10bd787 /doc | |
parent | e52e58ff4a7007ca774905727391e5f78135f98d (diff) | |
download | context-ac0e3262fb027e4ab586204bf2d5a05e9a831933.tar.gz |
2018-06-02 22:41:00
Diffstat (limited to 'doc')
20 files changed, 129 insertions, 6 deletions
diff --git a/doc/context/documents/general/manuals/luatex.pdf b/doc/context/documents/general/manuals/luatex.pdf Binary files differindex 4d5a34676..b0c19c3a8 100644 --- a/doc/context/documents/general/manuals/luatex.pdf +++ b/doc/context/documents/general/manuals/luatex.pdf diff --git a/doc/context/documents/general/manuals/onandon.pdf b/doc/context/documents/general/manuals/onandon.pdf Binary files differindex 7fd98afb0..16eef6dc8 100644 --- a/doc/context/documents/general/manuals/onandon.pdf +++ b/doc/context/documents/general/manuals/onandon.pdf diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf Binary files differindex 1acda5388..a6f330af2 100644 --- a/doc/context/documents/general/qrcs/setup-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf Binary files differindex 75666c82b..12d60d994 100644 --- a/doc/context/documents/general/qrcs/setup-de.pdf +++ b/doc/context/documents/general/qrcs/setup-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf Binary files differindex 77855e8c0..43387f6a1 100644 --- a/doc/context/documents/general/qrcs/setup-en.pdf +++ b/doc/context/documents/general/qrcs/setup-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf Binary files differindex 491e647df..fe6870541 100644 --- a/doc/context/documents/general/qrcs/setup-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf Binary files differindex 767a79d03..405880b5d 100644 --- a/doc/context/documents/general/qrcs/setup-it.pdf +++ b/doc/context/documents/general/qrcs/setup-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf Binary files differindex a136f976f..d726bd883 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-de.pdf b/doc/context/documents/general/qrcs/setup-mapping-de.pdf Binary files differindex b677cddab..88ad41a0d 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-de.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-en.pdf b/doc/context/documents/general/qrcs/setup-mapping-en.pdf Binary files differindex ae4117ff0..762c5c56e 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-en.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf Binary files differindex 749fed664..d7ec4ff21 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-it.pdf b/doc/context/documents/general/qrcs/setup-mapping-it.pdf Binary files differindex 337068bd6..15981436a 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-it.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf Binary files differindex dc396e38e..2b80971be 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf Binary files differindex 91365f93f..4bb508c2e 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf Binary files differindex 0b53962af..1f1ced3a4 100644 --- a/doc/context/documents/general/qrcs/setup-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf Binary files differindex 20be9a004..323e98812 100644 --- a/doc/context/documents/general/qrcs/setup-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-ro.pdf diff --git a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex index 1cf9bae41..243dc6985 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex @@ -40,7 +40,7 @@ assumes that you have executed the \prm {directlua} command as given above. The startup behaviour documented above is considered stable in the sense that there will not be backward|-|incompatible changes any more. We have promoted some rather generic \PDFTEX\ primitives to core \LUATEX\ ones, and the ones inherited -frome \ALEPH\ (\OMEGA) are also promoted. Effectively this means that we now only +from \ALEPH\ (\OMEGA) are also promoted. Effectively this means that we now only have the \type {tex}, \type {etex} and \type {luatex} sets left. In \in {Chapter} [modifications] we discuss several primitives that are derived @@ -466,7 +466,7 @@ in a separate file and load it using \LUA's \type {dofile}: \directlua { dofile('mysetups.lua') } \stoptyping -\subsection{\lpr {luafunction} and \lpr {luafunctioncall}} +\subsection{\lpr {luafunction}, \lpr {luafunctioncall} and \lpr {luadef}} The \prm {directlua} commands involves tokenization of its argument (after picking up an optional name or number specification). The tokenlist is then @@ -500,7 +500,15 @@ in the following example the number \type {8} gets typeset. \stoptyping The \lpr {luafunctioncall} primitive does the same but is unexpandable, for -instance in an \prm {edef}. +instance in an \prm {edef}. In addition \LUATEX\ provides a definer: + +\starttyping + \luadef\MyFunctionA 1 + \global\luadef\MyFunctionB 2 +\protected\global\luadef\MyFunctionC 3 +\stoptyping + + \subsection{\lpr {luabytecode} and \lpr {luabytecodecall}} diff --git a/doc/context/sources/general/manuals/luatex/luatex-nodes.tex b/doc/context/sources/general/manuals/luatex/luatex-nodes.tex index e354a643c..8b8668b3e 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-nodes.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-nodes.tex @@ -1217,12 +1217,12 @@ can be handy for tracing. \topicindex {nodes+functions} \startfunctioncall -<boolean> t = +<boolean|integer> t = node.is_node(<any> item) \stopfunctioncall -This function returns true if the argument is a userdata object of -type \type {<node>}. +This function returns a number (the internal index of the node) if the argument +is a userdata object of type \type {<node>} and false when no node is passed. \subsubsection{\type {node.types}} diff --git a/doc/context/sources/general/manuals/onandon/onandon-110.tex b/doc/context/sources/general/manuals/onandon/onandon-110.tex new file mode 100644 index 000000000..78ec96588 --- /dev/null +++ b/doc/context/sources/general/manuals/onandon/onandon-110.tex @@ -0,0 +1,113 @@ +% language=uk + +% After watching \quotation {What Makes This Song Great 30: Alanis Morisette} by +% Rick Beato, it's tempting to poder \quotation {What makes \TEX\ great}. + +\startcomponent onandon-110 + +\environment onandon-environment + +\startchapter[title={Getting there, version 1.10}] + +When we decided to turn experiments with a \LUA\ extensions to \PDFTEX\ into +developing \LUATEX\ as alternative engine we had, in addition to opening up some +of \TEX's internals, some extensions in mind. Around version 1.00 most was +already achieved and with version 1.10 we're pretty close to where we want to be. +The question is, when are we ready? In order to answer that I will look at four +aspects: + +\startitemize[packed] +\startitem objectives \stopitem +\startitem functionality \stopitem +\startitem performance \stopitem +\startitem stability \stopitem +\stopitemize + +The main {\em objective} was to open up \TEX\ in a way that permit extensions +without the need to patch the engine. Although it might suit us, we don't want to +change too much the internals, first of all because \TEX\ is \TEX, the documented +program with a large legacy. \footnote {This is reflected in the keywords that +exposed mechanisms use: they reflect internal variable names and constants and as +a consequence there is inconsistency there.} Discussions about how to extend +\TEX\ are not easy and seldom lead to an agreement so better is to provide a way +to do what you like without bothering other users and|/|or interfering with macro +packages. I think that this objective is met quite well now. Other objectives, +like embedding basic graphic capabilities using \METAPOST\ have already been met +long ago. There is more control over the backend and modern fonts can be dealt +with. + +The {\em functionality} in terms of primitives has been extended but within +reasonable bounds: we only added things that make coding a bit more natural but +we realize that this is very subjective. So, here again we can say that we met +our goals. A lot can be achieved via \LUA\ code and users and developers need to +get accustomed to that if they want to move on with \LUATEX. We will not +introduce features that get added to or are part of other engines. + +We wanted to keeping {\em performance} acceptable. The core \TEX\ engine is +already pretty fast and it's often the implementation of macros (in macro +packages) that creates a performance hit. Going \UTF\ has a price as do modern +fonts. At the time of this writing processing the 270 page \LUATEX\ manual takes +about 12 seconds (one run), which boils down to over 27 pages per second. + +\starttabulate[||c|c|] +\NC \BC runtime \BC overhead \NC \NR +\BC \LUATEX \NC $12.0$ \NC $+0.6$ \NC \NR +\BC \LUAJITTEX \NC $ 9.7$ \NC $+0.5$ \NC \NR +\stoptabulate + +Is this fast or slow? One can do tests with specific improvements (using new +primitives) but in practice it's very hard to improve performance significantly. +This is because a test with millions of calls that show a .05 second improvement +disappears when one only has a few thousand calls. Many small improvements can +add up, but less that one thinks, especially when macros are already quite +optimal. Also this runtime includes time normally used for running additional +programs (e.g.\ for getting bibliographies right). + +You also have to take into account that having a browser open in the background +of a \TEX\ run has way more impact than a few tenths of a second in \LUATEX\ +performance. The same is true for memory usage: why bother about \LUATEX\ taking +tens of megabytes for fonts while a few tabs in a browser can bump memory +consumption to gigabytes of memory usage. Also, using a large \TEX\ tree (say the +whole of \TEXLIVE) can have a bit of a performance hit! Or what about inefficient +callbacks, using inefficient \LUA\ code of badly designed solutions? What we +could gain here we loose there, so I think we can safely say that the current +implementation of \LUATEX\ is as good as you can (and will) get. Why should we +introduce obscure optimizations where on workstations \TEX\ is just one of the +many processes? Why should we bother too much to speed up on servers that have +start|-|up or job management overhead or are connected to relatively slow remote +file system? Why squeeze out a few more milliseconds when badly written macros or +styles can have an way more impact on performance? So, for now we're satisfied +with performance. Just for the record, the ratio between \CONTEXT\ \MKII\ +running other engines and \LUATEX\ with \MKIV\ for the next snippet of code: + +\starttyping +\dorecurse{250}{\input tufte\par} +\stoptyping + +is 2.8 seconds for \XETEX, 1.5 seconds for \LUATEX, 1.2 seconds for \LUAJITTEX, +and 0.9 seconds for \PDFTEX. Of course this is not really a practical test but it +demonstrates the baseline performance on just text. The 64 bit version of \PDFTEX\ +is actually quite a bit slower on my machine. Anyway, \LUATEX\ (1.09) with \MKIV\ +is doing okey here. + +That brings us to {\em stability}. In order to achieve that we will not introduce +many more extensions. That way users get accustomed to what is there (read: there +is no need to search for what else is possible). Also, it makes that existing +functionality can become bug free because no new features can interfere. So, at +some point we have to decide that this is it. If we can do what we want now, +there are no strong arguments for more. in that perspective version 1.10 can be +considered very close to what we want to achieve. + +Of course development will continue. For instance, the \PDF\ inclusion code will +be replaced by more lightweight and independent code. Names of functions and +symbolic constants might be normalized (as mentioned, currently they are often +related to or derived from internals). More documentation will be added. We will +quite probably keep up with \LUA\ versions. Also the \FFI\ interface will become +more stable. And for sure bugs will be fixed. We might add a few more options to +control behaviour of for instance of math rendering. Some tricky internals (like +alignments) might get better attribute support if possible. But currently we +think that most fundamental issues have been dealt with. + +\stopchapter + +\stopcomponent diff --git a/doc/context/sources/general/manuals/onandon/onandon.tex b/doc/context/sources/general/manuals/onandon/onandon.tex index 593de3e75..65a7f5712 100644 --- a/doc/context/sources/general/manuals/onandon/onandon.tex +++ b/doc/context/sources/general/manuals/onandon/onandon.tex @@ -67,6 +67,8 @@ \startchapter[title={More expansion}] Maybe first published in user group magazines. \stopchapter % \component onandon-expansion + + \component onandon-110 \stopbodymatter \stopproduct |