On 08/08/2012 02:27 PM, Benjamin Smedberg wrote:
On 8/8/2012 2:09 PM, Nicolas Silva wrote:
Hi dev-platform,

I spent some time looking at include dependencies lately, and I think it is an area where we can improve our code without too much effort.
Bad include dependencies lead to slower builds.
What kind of evidence do we have for this? Before spending time tinkering with removing includes, I think we need to understand whether it's worth it: unless there is a clear and significant improvement, there are many other things we could be doing which are probably more valuable. And if there are significant wins to be had, should we instead be considering using module-wide includes and precompiled headers?

--BDS

That's the thing, it is hard to measure the impact of bad dependencies unless you compare the same code with bad and good dependencies (which would mean spending the time to fix existing code), or have already experienced it in another project, or even trust what people say on the internet about this subject.

Right now I think our build times could benefit more from a better build system than fixing our include dependencies, if you ask me.

what I propose is to pay attention to these details when adding new code, because it does not take more time to write these things the right way. With the example of nsRefPtr, I think the problem is that a lot of people didn't know it was possible to use forward references with ref pointers.

I have an ugly script that goes through the dependency files generated by make to collect informations about dependencies. I'll clean it up if you are interested (and rewrite it in python because I suppose people in here don't want to deal with D code).

I think it would help even with module-wide includes because most translation units include headers from several other modules. Here is a list of the TUs that include 2D.h (as of last Wednesday) on a Linux debug build: http://pastebin.mozilla.org/1745045
A lot of them have nothing to do with graphics.

Nicolas Silva
||
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to