On Wednesday, 14 December 2016 at 05:07:17 UTC, Stefan Koch wrote:
Hi Guys,
Implementing and TESTING function-call support is boring so ...
I have just written a little piece of code that counts which
switch-cases are executed most frequently versus how often
their conditions are evaluated.
This can essentially be the basis for pgo based on the
ctfe-function path.
Since functions are supposed to be the same at ctfe and at
runtime, you basically get profiling information for free while
compiling.
Cheers,
Stefan
https://github.com/UplinkCoder/dmd/compare/newCTFE...newCTFE-PGO
This is the code that was necessary to add execution counters.
I'd say it does speak for the soundness of the design :)