From testing and benchmarking, it appears that both result in a
measurable improvement in performance, wtih some benchmarks showing 10%
faster (when opening a large 400 MB binary file and
searching-and-replacing within it). Use them when building a published
build. Don't do it for legacy builds as I encountered some issues with
it failing tests when testing for recursion limit and I suspect it's due
to stack size issues. Since legacy builds are mostly kept for
compatibility reasons, no need to optimize it for now.