--with-opt=<0,1,2,3,4,5,6>
: Select the optimization level. Level 0
results in an unoptimized debuggable executable, which will run quite slowly.
Progressively higher numbers select progressively more aggressive optimization,
which may not work with all compiler choices. We have experimented with
optimizations up to the maximum with the Gnu compilers, but in general pushing
much beyond 3 does not result in noticeable run time improvements. Running with
opt set to 2 or 3 generally results in code that is 5-10x faster than level 0.
--with-dbc=<all,pre,none>
: Select the level at which to enforce
Design By Contract correctness testing. Possible values are
all
: enforce all contracts
pre
: enforce only preconditions
none
: turn off all contract testing
all
, but if you want to build an optimized
executable we recommend using none
. Spheral++ makes extensive use of
Design By Contract checks in many heavily used routines, so checking these
contracts can be a large overhead in production simulations.