On Friday, 23 November 2018 at 10:00:17 UTC, Nicholas Wilson wrote:

If you pass all the files on the command line then they all get (re)compiled.

How are you supposed include files if not passing them to the compiler?

I'm only using std.regex in one file, IIRC, so whatever the "proper" way to only compile changed files should improve it drastically.

Almost all of my templates are incredibly simple like using generic arguments for taking float and doubles, instead of hardcoded float.

I am using both Allegro and DAllegro (a D binding for Allegro5). But until recently, the compile times have been very fast. So it's definitely been D features cutting things down.

And as for "compile-time doesn't matter" arguments, that's plain silly. I'm not a junior programmer. I've had builds that took over 30 minutes to compile and as we all (should!) know, the longer the build time (especially over 10 seconds), the quicker the mind loses its train-of-thought and the more difficulty the brain has with establishing cause-and-effect relationships between code and bugs. When our builds hit 30 minutes, we ended up so disconnected from the project we'd end up playing a short game of Duke Nukem 3-D inbetween builds. (Ha! Builds. Build engine = the Duke Nukem 3D engine. A super-niche pun.) We were incredibly unproductive until I re-wrote the entire thing in a different language. It ran in less than 10 seconds and suddenly we were powering through new problem after new problem. (A huge data conversion project between a discontinued, no-documentation product and a new product by a different company.)

Anyhow, if you REALLY want to look at some very WIP code with poor documentation and possibly lots of random swearing (hobby project for trying out D in a game), I'll make the repo public for now:

https://bitbucket.org/katasticvoyage/ss14/src/master/

 extra.d is a main code unit for this application.

ini.d has regex. (and no, it's not a proper lexer. I'm probably swapping it out with JSON.)

Reply via email to