Fork me on GitHub

Search archive



Compile performance


When I first started Chaotic Rage, I made the silly decision to create a header, rage.h, which included all the headers for all of the classes used by the game.

For development this is brilliant, because you don't need to think about dependencies at all, you just use classes however you see fit.

The problem is, that as the engine got larger, the compile times became horribly slow. I ended up opening an issue on GitHub to resolve the problem, but didn't really touch it for ages because it's a big overhaul.

Well over the weekend I bit the bullet and started making changes, and now compile speed is quite a bit faster, which is good.

On my Linux dual-core a "time make -j4" was reporting a wall ("real") time of 1m33.418s. It now runs on the same box with a wall time of 0m52.244s. On my windows machine I used a stopwatch, and got compiles from 4:45:02 to 3:12:74. You can see all of the stats on the issue page.

This is a reasonable win - 44% faster on my Linux box and 32% faster on the Windows box. I'm happy with that.

Article comments (0)

Beta 19


I released Beta 19 on Saturday. It's pretty much just all map work, to get the campaigns sorted. I added support for skyboxes, which is fairly cool, and I've been working with exporting maps directly from Blender.

You can download it from the Downloads page, or if you want the source, hop onto GitHub. That's also the place for all of your development needs.

Article comments (0)