On Wednesday, 4 December 2013 at 16:50:45 UTC, Dicebot wrote:
On Wednesday, 4 December 2013 at 16:41:14 UTC, Puming wrote:
Other than diet, is there many other CTFE/template heavy parts?

Also vibe.http.rest and vibe.http.form create really lot of template instances because of heavy usage of reflection + code generation. This is one of domains though that can potentially improve a lot by better compiler implementation,


I hope there would be a non-CTFE version of diet template, similar to regex/CTRegex. If we use the non-CTFE version in dev mode, we would have a better memory & compile time turnaround in dev mode. And in the release mode the diet templates would be optimized with CTFE. Is that a viable approach?

That should be possible and relatively simple (because of CTFE nature a lot of code can be reused). It may considerably impact Diet performance but I can see desire for that in development mode as project size increases. As usual, it is mostly matter of manpower - vibe.d has only one persistent contributor right now and probably 5-8 guys doing occasional pull request, definitely not enough for project of that scale.

There maybe another traditional approach, by converting the .dt diet templates directly into D source code BEFORE the actuall compilation. That is the way many other HTML template systems use, and the performance is fairly good.

The generated D code could be very C like, and does not use much CTFE and templates, so that it doesn't incur a lot of compilation resources.

As as the matter of manpower, I'm very interested in D/Vibe.d, and will learn and try to contribute :-)

I'm currently using Java/Netty&Friends at work. But found D/Vibe.d would be a better solution in the future.

Reply via email to