tame/src
Mike Gerwitz ce0da76ccf Improve symbol table processing time
preproc:symtable-process-symbols is run on each pass (e.g. during initial
processing and after each template expansion) to introduce new symbols into
the symbol table from imports and newly discovered symbols.

This processing was previously optimized a bit using maps to reduce the cost
of symbol table lookups, but the processing was still inefficient, relying
on XSLT1-style processing (as originally written) for deduplication.  This
now uses `for-each-group` and `perform-sort` to offload the expensive
computation onto Saxon, which is much more efficient.

Symbol table processing has long been a culprit, but I hadn't attempted to
optimize further in recent months because of TAMER work.  Since TAMER has
been on pause for a few months with other things needing my attention, I
needed to provide a short-term performance improvement to keep up with
increasing build times.

DEV-11716
2022-02-22 22:05:07 -05:00
..
current Improve symbol table processing time 2022-02-22 22:05:07 -05:00
js Copyright year simplification and update to Ryan Specialty Group 2019-02-07 13:23:09 -05:00
preproc/expand Copyright year update 2021 2021-07-22 15:00:15 -04:00
symtable Copyright year update 2021 2021-07-22 15:00:15 -04:00
graph.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
init.xsl.in Copyright year update 2021 2021-07-22 15:00:15 -04:00
symtable.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00