Puzzled by this behavior

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Jun 3 08:03:47 UTC 2022


On Friday, 3 June 2022 at 06:42:29 UTC, Ola Fosheim Grøstad wrote:
> On Thursday, 2 June 2022 at 22:50:30 UTC, deadalnix wrote:
>> As for an SMT solver, that sound like a good way to destroy 
>> your compile time.
>
> Yes, but you can cache results and compile in the background 
> while editing and also add an option for distributed analysis 
> (cloud solution). Most function bodies dont change frequently. 
> All you want to cache is a list of asserts that have been 
> proven and what that proof depends on. Besides, this is just a 
> release optimization...

Anyway, this shouldn't be a priority, just make sure it is 
possible at a later stage. While it sounds heavy (and is), keep 
in mind that this can be used selectively on bottle necks or 
simple functions with many asserts. And since many D users seem 
to favour releasing with asserts in then this could be that one 
thing that makes SDC faster.

Also if an assert is proven and removed, then it can be assumed 
to hold in LLVM passes.

I guess we also could say that SDC isn't competing to win users 
at this stage, it is competing with DMD, GDC and LDC for the 
attention of D-users interested in compilers.



More information about the Digitalmars-d mailing list