On Sunday, 24 July 2016 at 19:36:50 UTC, Dicebot wrote:
How much of compile-time overhead does it add compared to naive
I would expect fairly large, It only increases the amount of
memory used and concatenation operations. It stores each
requested string into array of structures, that later are used
for concatenating together.
I don't have any performance numbers, nor do I have a large
amount of code generation to try and tax compile-time work. I ran
ProtocolBuffer with -profile and it should the call to
finalize(), ~9000 microseconds per call (runtime).
I'd be happy to accept performance improvements (including
breaking changes), but if you've already got long compile times
due to CTFE I can't recommend using it.