assume, assert, enforce, @safe

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 1 16:44:34 PDT 2014


On 8/1/2014 4:12 PM, Jonathan M Davis wrote:
> True, but as long as the runtime cost isn't too great for your debug builds,
> having assertions for whatever conditions you think your code relies on and
> would ideally be checked is quite beneficial. Any optimizations by the compiler
> would then be a bonus, but the fact that they exist does offset the costs to
> debug builds somewhat (depending on what you're doing) by improving the release
> builds. I would think that any attempt to specifically craft assertions to aid
> the optimizer would be something that should generally be left to the cases
> where you really care about getting extra speed out of your program and are
> doing micro-optimizations based on profiling and the generated assembly and
> whatnot.

The optimizations thus enabled would be the same as in, say, an if body:

     if (expr) {
        ... take advantage of expr being true ...
     }

and optimizers already do that to an increasing extent.



More information about the Digitalmars-d mailing list