It took some experimentation, but the CVE checks are now re-enabled on CI builds.
;โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโโ
;โ Expression โ Mean โ Var โ
;โฃโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโซ
;โ (execute-static :small :map-tree) โ 18.05 ยตs โ ยฑ 258.02 ns โ (fastest)
;โ (execute-static :small :sawtooth) โ 21.48 ยตs โ ยฑ 695.38 ns โ
;โ (execute-static :medium :map-tree) โ 176.26 ยตs โ ยฑ 1.92 ยตs โ
;โ (execute-static :medium :sawtooth) โ 202.23 ยตs โ ยฑ 4.14 ยตs โ
;โ (execute-static :large :map-tree) โ 16.99 ms โ ยฑ 181.81 ยตs โ
;โ (execute-static :large :sawtooth) โ 19.56 ms โ ยฑ 395.42 ยตs โ (slowest)
;โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโปโโโโโโโโโโโโปโโโโโโโโโโโโโโStarting to optimize :sawtooth for static-only (no path params) routing tables. Already it is quick enough, in my opinion, to be the default router.
i think that the defualt router should be the best on error report//dev experience, not the fastest
My only concern is that upgrades from 0.7 to 0.8 may see different behavior with Sawtooth than with prefix-tree, but you would only see that if there were route conflicts to begin with, and (assuming there are tests) you'll see the warnings and know something is up immediately, and can decide to remove conflicts or move back to :prefix-tree.