On Sunday, 1 June 2014 at 03:26:30 UTC, Rikki Cattermole wrote:
The problem with diet is it compiles directly to D code, hence
forth its not really possible at the moment.
However as I believe Sonke has said previous it is out of scope
of Vibe. Its actually in the scope of Cmsed instead.
I have looked into doing just this, reloading of templates. And
from what I can ascertain reliably we need shared library
support. While this is doable upon Linux, it isn't on Windows.
Until its available on Windows I will not use it.
My thread on the dub forum is here[0].
Basically I am also blocked by dub, to be able to grab all the
previous templates ext. From libraries and push them into a
findable place at runtime.
I would also consider using a different template engine entirely,
one which is less powerful but which can be automatically
recompiled at runtime. I would consider something with diet
syntax, but where only some of the D language parts actually
work. (The '-' syntax parts.)
I personally allow for atleast 1.5 to 2gb of ram to build
anything with D. Cmsed base package alone takes around 700mb.
And thats with a LOT of CTFE work going on. I can only see that
increasing.
So I'd like a way for dmd to utilize memory better even if it
means slowing down for larger builds. For small builds the
current way is great, just for larger we need alternative means.
I was thinking about this, and it might be good to offer a switch
for lower memory build profiles. As far as I recall, I believe
the memory usage comes from the philosophy that you can malloc,
malloc, malloc, then exit the process for speed. I think it was
freeing some memory and so on which would reduce build speed. I
might be talking nonsense, but it would be nice to have an option
to reduce build speed and also reduce memory usage. Of course,
having the best of both worlds is always great.