Den 2013-03-26 19:21:32 skrev Daniel Bratell <brat...@opera.com>:

As an experiment we took the (chromium) project webcore_dom, that normally compiles in 56 seconds in Windows on a generic computer and "fixed" it. Removing the many include paths in the build system and instead specifying the path in the include directives changed that to 42 seconds, a 25% reduction.

I've looked some more at this today and it still looks promising.

On a Xeon W3550 (quad 3.06GHz), with plenty of RAM but a spinning disk and Windows 7:

webcore_dom: 58 seconds -> 38 seconds (-35%)
webcore_rendering: 106 seconds -> 73 seconds (-30%)
webcore_platform: 59 seconds -> 34 seconds (-43%)

(Yes, better than the 25% mentioned in the subject but this was on a different computer)

Just adding paths to the files cut a few percent of the compilation time. The big gain is from shrinking the list of include paths sent to the compiler. The data points reported here are the best times, but compile times were consistent over a number of attempts so now I trust them 100%.

There are some roadblocks though, and I wouldn't mind some pointers here. (This is my first deep dive into how the source generation/build system works in WebKit)

A lot of the source code, basically all WebCore projects I didn't list above, use files automatically generated by a number of massive perl scripts. The generated files include header files without any idea where they are. It would be good if they could generate something correct. Any suggestion there?

My easter celebrating colleague talked about trying the suggestion to symlink all headers in a single directory. I've not tried that though and I have no comparable data.

/Daniel
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to