diff --git a/CompilerImprovements.md b/CompilerImprovements.md index 1fd65a3..b7e1fcf 100644 --- a/CompilerImprovements.md +++ b/CompilerImprovements.md @@ -68,16 +68,29 @@ performance over each release. - since each stage is separate but dependent, separate threads could work on a given thread -I# Tunables to reduce memory +# Tunables to reduce memory -- O expr-simplify -- O diff-encode -- j 0 -- ensure parser is stripped +* -O expr-simplify (may slow small policy compiles, will speed up large compiles) +* -O diff-encode (will slow down small compiles slightly, will speed up large compiles) +* -j N (will slow policy compiles that can happen in parallel) +** N=0 (no workers, everything done by driver, requires 3.0) +** N=1 (one worker) +** N=xC where C is less than the default of 8 +* --max-jobs=N (cap workers used by -j irrespective of number of cpus +* ensure parser is stripped + +# Tunables to reduce policy size + +* -O minimize (may slow small policy compiles, will speed-up large compiles) +* -O compress-small (will slow down compiles) +* -O diff-encode (may slow small policy compiles, will speed-up large compiles) # Tunables to trade compiler memory for speed -#Improvements per Release +??? + + +# Improvements per Release - 2.1 DFA introduced - 2.3 tree factoring