It's embarrassing how much time this saved on builds.
This apparently has always been doing a linear scan on the entire symbol
table for _every single param in the symbol table_, including those that
were imported. This is not only unnecessary, but has no effect on the end
result of the system.
This cut build times almost in half, due to the number of symbols in some of
our packages. All for unnecessary work.
Like most things that have quadratic (or polynomial) time complexity, they
don't show up during initial development, and are hard to even profile for,
because their effects are so small. Now that our system has grown
substantially, it had a massive effect.
DEV-15114
RSG (Ryan Specialty Group) recently announced a rename to Ryan Specialty (no
"Group"), but I'm not sure if the legal name has been changed yet or not, so
I'll wait on that.
A bunch of failing pipelines apparently wasn't obvious to me. And shame on
me for not running these locally; I forgot that the part of the system that
I touched had tests.
This was broken by b6cfdb4221.
This now uses year ranges, which I'll update annually.
This also renames "R-T Specialty" to "Ryan Specialty Group". The latter is
the parent company of the former. I was originally employed under the
former when LoVullo Associates was purchased, by I now work for the parent
company.
Shame on me!
* test/graph-test.xsl (foo:graph-vtwo-vthree): Swap `a' and `c' nodes. This
ordering seems to have changed after a Saxon upgrade, and this ordering
makes much more sense.
* test/symtable/symbols.xspec: Add missing `@default' and
`@pollute'. Remove extra `@keep'. All keeps should be gone by now, but
it looks like I missed some; that will be handled in a separate commit.
The `preproc:param-dim' template must remain for now, as it is used by
others.
* src/current/include/preproc/symtable.xsl
(preproc:symtable)[lv:param]: Extracted template.
* src/symtable/symbols.xsl
(preproc:symtable)[lv:param]: Added template.
* test/symtable/symbols.xsl
(lv:param): Scenario added.