Age | Commit message (Collapse) | Author |
|
git-svn-id: svn://tug.org/texlive/trunk@71997 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71996 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71995 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71994 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71993 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71992 c570f23f-e606-0410-a88d-b1316a301751
|
|
removal
git-svn-id: svn://tug.org/texlive/trunk@71991 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71990 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71989 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71988 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71987 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71986 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71985 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71984 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71983 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71982 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71981 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71980 c570f23f-e606-0410-a88d-b1316a301751
|
|
Martin Ruckert's talk at TUG'24 about 'Profiling TeX' (watch on YouTube:
https://www.youtube.com/live/d7vTW7PR0B4?t=7795s) and the ensuing private
discussion with him lead me to inspect the relevant parts of
'cwebacromac.tex' (and 'pwebmac.tex') more closely in order to address
the performance issues with certain large C/WEB programs.
The most glaring example is MP.W, where every advanced TeX engine (for
PDF and HINT) virtually stops for 1--2 seconds (on my machine) at two of
the index pages because of the huge lists of section references for the
variable 'mp' and the type 'MP' that are used 'everywhere'. (See below.)
At this point, we haven't solved the quadratic performance behavior yet.
However, the main changes applied in this commit at least slightly
improve the macros and their application. In the overall context of the
'knuth-pdf'/'knuth-hint' packages, the 'index issue' reported by Martin
becomes more or less irrelvant. The script 'makeall' produces 58 PDF
documents in the main run. With all optimizations applied, the runtime
is reduced by mere seconds from '1m7s' to '0m59s' (with 'pdftex').
(a) '\pdflink' and '\HINTlink' have lost their second parameter, which
was only used with 'plain TeX plus dvipdf' and 'XeTeX' anyway. This cut
down the replacement strings significantly. In one example I observed a
runtime improvement of about twenty percent (2--3 seconds) by this
change alone.
(b) Macros '\makeoutlinetoks' and 'outilnedone' swallowed the
surrounding macro calls, thus simplifying their application.
(c) '\newcount\countC' was replaced with '\newif\ifhavenum' to avoid
arithmetic with '0' and '1' for a simple Boolean operation.
(d) '\newcount\countD' was renamed to '\countNOS'. (Unrelated.)
In order to address the 'worst' CWEB code MP.W mentioned above, I
changed both the macros and the 'makeall' script. My local MP.CH changes
the '\inx' macro to address two 'Overfull \hboxes', so it is easy to
remove the use of '\pdfnote' when setting up the index. Instead,
'makeall' invokes SED to amemd the MP.IDX file created by CWEAVE with
the necessary '\pdflink' macro invocations for all section numbers in
one fell swoop. This cuts the processing time for MP.TEX in half (!!).
However, I do not intend to incorporate this approach into
'cwebmac.tex'/'pwebmac.tex' because this would most likely require
'--shell-escape' and become too system-dependent. For small to midsize
C/WEB programs, this would show minor improvements anyway.
Watch this space for possible further improvements. (I'll hold back the
releases of 'CWEB 4.12' and 'pwebmac 5.0' for the time being.)
git-svn-id: svn://tug.org/texlive/trunk@71979 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71978 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71977 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71976 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71975 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71974 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71973 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71972 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71971 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71970 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71969 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71968 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71967 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71966 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71965 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71964 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71963 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71962 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71961 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71960 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71959 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71958 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71957 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71956 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71955 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71954 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71953 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71952 c570f23f-e606-0410-a88d-b1316a301751
|
|
This might rather be documented in 'cwebman.tex' together with '\def\9'.
git-svn-id: svn://tug.org/texlive/trunk@71951 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71950 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71949 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@71948 c570f23f-e606-0410-a88d-b1316a301751
|