Hi jkl, > > But sed, awk, perl, python, ... lex and parse once into an AST or > > bytecode, removing the recurring cost of comments, etc. that impact > > groff. So I don't think it's an even comparison. > > Of course it's a valid comparison. Which sed or awk or shell script > is distributed in a stripped/compressed form? Do they store their AST > somewhere, so as to avoid recompilation? They do not. Just as with > groff, every parse starts anew.
It seems you're not aware that groff runs the source. It doesn't have an intermediate representation like those other commands I listed. Thus every invocation of a macro, or iteration around a loop, reads each character anew. -- Cheers, Ralph.