On 02/06/10 00:45, bearophile wrote:
With some work LLVM can be used to JIT-compile the D compile-time
functions, so they can probably run quite faster.

This may be true, but the overhead of loading/setting up a JIT
environment at compile time will have a horrific effect on compile time for most D apps, it will only show an advantage where there's a lot of CTFE used. Add to this it needs a complete rewrite of how CTFE is done, it's more effort than it's worth... It would be far better to fix the killer CTFE bugs that exist at the moment such as the extremely large memory usage - once that's done CTFE will be a lot faster anyway (though again, this is no small task).

With some more work you can also keep some parts of LLVM around at
runtime, to use the compiler as a library at runtime, as C#4 does.

I seem to recall the benefit of runtime optimisation isn't that great, have you got some evidence that shows otherwise?

You are right, I am sorry. You can ask LDC developers why they have
preferred the LLVM inliner instead of the D front-end one. Later I
can ask to them.

If I recall, the issue was dmd inlined away information LDC needed to be able to create binaries of any use, I may be wrong here.


Bye, bearophile

Reply via email to