This hack seems appalling when you first understand it… but when you read the timing results at the end, you’ll see that it really can be worth it if you’ve got a big project. Hm, Project Badger takes a long time to compile… 😉
This hack seems appalling when you first understand it… but when you read the timing results at the end, you’ll see that it really can be worth it if you’ve got a big project. Hm, Project Badger takes a long time to compile… 😉
Greetings, and thanks for the link to my article 🙂
It’s funny, most people, when they first see how unity builds work, consider it to be a hack. When I say ‘hack’ I mean “something that is dodgey and unsafe”. I too think it’s a hack, but not in the dodgey and unsafe way, but more a “sneaky and helpful abuse of the knowledge of underlying compiler processes” 🙂
The question I tend to ask people when the first say “Man, that’s a dogdey hack” is: What’s wrong with it?
Most people just say “it feels dodgey”. Hardly a great technical response!
If you have a read of Jon’s comment you’ll see that there are actually quite a few plusses in using this type of build.
Your point about it being worth it for large projects is indeed correct. But don’t understimate the time savings for small projects too!
As a parting though, you should have a look at the screencast as well, it’ll show you how fast even a small project can go!
Thanks again for the link 🙂 All the best. OJ
My pleasure! I saw your article mentioned on Stack Overflow yesterday.
As for what’s wrong with it… well, there is a reason why developers separate programs into multiple files. 🙂 Though now that I think of it, those reasons are mostly about assisting the developer, rather than the compiler.
The aforementioned “Project Badger” takes something like ten minutes to compile on my machine. I plan to try this out on it at some point, and I’ve already brought your article to the attention of the project lead. Haven’t had a chance to discuss it with him yet, but I suspect he’ll ask me to try it out when I do, if he hasn’t tried it already himself.
Hi again 🙂
I just saw this appear on my trackback list again and I’d forgotten that I’d asked the question.
You’re right, there is indeed a reason for people to separate their code into different files. Obviously to aid in the ease of development and maintenance. I guess what I may have failed to mention in my post is that this, in my view, is not intended to replace the standard way of developing. It’s there as a productivity aid. If you bear that in mind, and still develop in the standard way, then there’s hardly a reason not to use them. Particularly if the compiler can do a better job of producing optimised code at the same time!
Thanks again 🙂 OJ