On Friday, 12 May 2017 at 02:43:17 UTC, evilrat wrote:
I use just dub and generated Visual D project.

Well in my case the problem is that engine is built as static lib, and there is not much i can do with this. I've started moving things around and turn lib to executable, at least now build time cut in half, down to 20-22 sec.

And speaking about build time i mean exactly it, compile+link. Compiling without linking is just 10-12 sec. That's really good for single-threaded build!

Ah okay. If I understand correctly, the "game" itself is just the two .d files in the Scripts folder, which get compiled then linked with the prebuilt .lib for the engine. If so, a 10-12s compile just for those two files still sounds really long to me. Either I'm misunderstanding, or there's something bizarre going on that's causing those build times.

I'm using derelict heavily in my project, and therefore most of my libraries live in DLLs. I've run into some annoyances with this, for example, bugs in the derelict interface to the DLL, either existing ones or ones I introduce myself, can be very difficult to detect and debug, since there's no type checking across the DLL boundary. But one huge advantage is that the build time overhead for these libraries is almost zero.

Everything I said about debugging was related to D, and on Windows Visual D specifically.
C++ had it for ages.

Ah, my apologies I misunderstood. Agreed, the current debugging experience for D leaves much to be desired unfortunately.

I see. This could even be benefit for low-level stuff like renderer or physics system, especially when keeping required data in large single array. But for the game part itself this is no go, not for business at least.

Yeah I agree that this limitation sucks. Even if I try to avoid using classes, there are still times where I'm forced into it. For example, Thread is a class. I have to be very cautious when working with an instance of Thread, or I risk bizarre crashes due to mismatched typeinfo.


Reply via email to