tame/src/current
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
..
c1map Copyright year update 2021 2021-07-22 15:00:15 -04:00
compiler Copyright year update 2021 2021-07-22 15:00:15 -04:00
dot Copyright year update 2021 2021-07-22 15:00:15 -04:00
include Improve symbol table processing time 2022-02-22 22:05:07 -05:00
neo4j POC for full graph 2020-05-13 00:44:13 -04:00
scripts Copyright year update 2021 2021-07-22 15:00:15 -04:00
src Copyright year update 2021 2021-07-22 15:00:15 -04:00
tools Move {src/current/tools=>build-aux}/* 2018-05-04 11:17:47 -04:00
util POC for full graph 2020-05-13 00:44:13 -04:00
.gitignore Liberate current implementation of "Calc DSL" 2016-08-24 12:38:00 -04:00
Makefile src/current/Makefile (all, html): Phony targets 2020-07-14 10:56:24 -04:00
c1map.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
calc.xsd Copyright year update 2021 2021-07-22 15:00:15 -04:00
compile.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
dot.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
link.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
map.xsd Copyright year update 2021 2021-07-22 15:00:15 -04:00
neo4j.xsl POC for full graph 2020-05-13 00:44:13 -04:00
pkg-dep.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
rater.xsd src/current/rater.xsd (yieldsNameType): Remove length checks 2021-02-23 10:46:58 -05:00
standalone.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
summary.css Copyright year update 2021 2021-07-22 15:00:15 -04:00
summary.xsl Copyright year update 2021 2021-07-22 15:00:15 -04:00
worksheet.xsd Liberate current implementation of "Calc DSL" 2016-08-24 12:38:00 -04:00