d624ee6d7e
This has a significant performance impact: processing time is cut in about half and memory usage is reduced by more than 50%. For example, a package that previously took 30s and 2.1GiB of memory to link now takes 14s and less than 900MiB of memory. I had tried to perform this optimization a couple years ago but was thwarted (I think) by the classifier markers. The previous commit did away with those. I'm encouraged by the gains from the low-hanging fruit. * src/current/compiler/linker.xsl (l:process-empty, l:stack-empty): Convert from l:pstack and l:sym-stack (respectively) to empty preproc:sym sequences. (l:depgen-process-sym)[preproc:sym]: Append to sequence rather than outputting new l:sym-stack tree. Update all annotations and uses accordingly. |
||
---|---|---|
.. | ||
current | ||
js | ||
preproc/expand | ||
symtable | ||
graph.xsl | ||
init.xsl.in | ||
symtable.xsl |