Re: [webkit-dev] WebCore Build Times
On Tue, Jun 8, 2010 at 3:17 PM, Eric Seidel e...@webkit.org wrote: Has anyone spent any time trying to reduce the number of includes in WebCore? I know we have: https://trac.webkit.org/browser/trunk/WebKitTools/Scripts/find-extra-includes But I feel like we still have way too many unnecessary includes. I failed to find any tools for reducing build times or includes with my brief Google searching. But perhaps others have looked into this problem for WebKit or other projects? I know someone once suggested that the build would be sped up if the #includes had longer paths (something like what happens in the Chromium tree) so that the toolchain didn't have to spend as much time scanning the (large) number of different directories on the #include path list. However, I don't know how true this is, and plus, converting all the files to use this method would be a huge change (presumably done via a script). I imagine removing unnecessary #includes, as you suggest above, would provide a much bigger benefit. PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
would it be worth replacing #include wtf/*Ptr.h with #include wtf/Forward.h in all header files? On Tue, Jun 8, 2010 at 3:17 PM, Eric Seidel e...@webkit.org wrote: Has anyone spent any time trying to reduce the number of includes in WebCore? I know we have: https://trac.webkit.org/browser/trunk/WebKitTools/Scripts/find-extra-includes But I feel like we still have way too many unnecessary includes. I failed to find any tools for reducing build times or includes with my brief Google searching. But perhaps others have looked into this problem for WebKit or other projects? On my Intel Core 2 Duo MBP a full build takes over 1 hour. 5 years ago, on my g4 laptop a full build took around 40m. :( We seem to be slowly moving in the wrong direction. -eric ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
On Jun 8, 2010, at 3:17 PM, Eric Seidel e...@webkit.org wrote: On my Intel Core 2 Duo MBP a full build takes over 1 hour. 5 years ago, on my g4 laptop a full build took around 40m. :( We seem to be slowly moving in the wrong direction. Was that before or after SVG was enabled in the engine? :) In general, I think the amount of code in WebCore has increased since 2005, which probably has more of an affect than unused headers. Having said that, I thought it would be useful to write a script that would remove individual headers on a file-by-file basis and recompile WebKit to find unused header candidates. I haven't had time to write such a script, though. Dave ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
I think were I to try attacking this, I would write a script to generate a list of includes, and the number of cpp files which include them. Then I would work from the most-included end of that list, trying to reduce the number of files include each include. -eric On Tue, Jun 8, 2010 at 4:04 PM, David Kilzer ddkil...@webkit.org wrote: On Jun 8, 2010, at 3:17 PM, Eric Seidel e...@webkit.org wrote: On my Intel Core 2 Duo MBP a full build takes over 1 hour. 5 years ago, on my g4 laptop a full build took around 40m. :( We seem to be slowly moving in the wrong direction. Was that before or after SVG was enabled in the engine? :) In general, I think the amount of code in WebCore has increased since 2005, which probably has more of an affect than unused headers. Having said that, I thought it would be useful to write a script that would remove individual headers on a file-by-file basis and recompile WebKit to find unused header candidates. I haven't had time to write such a script, though. Dave ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
On Tue, Jun 8, 2010 at 3:21 PM, Peter Kasting pkast...@google.com wrote: On Tue, Jun 8, 2010 at 3:17 PM, Eric Seidel e...@webkit.org wrote: Has anyone spent any time trying to reduce the number of includes in WebCore? I know we have: https://trac.webkit.org/browser/trunk/WebKitTools/Scripts/find-extra-includes But I feel like we still have way too many unnecessary includes. I failed to find any tools for reducing build times or includes with my brief Google searching. But perhaps others have looked into this problem for WebKit or other projects? I know someone once suggested that the build would be sped up if the #includes had longer paths (something like what happens in the Chromium tree) so that the toolchain didn't have to spend as much time scanning the (large) number of different directories on the #include path list. However, I don't know how true this is, and plus, converting all the files to use this method would be a huge change (presumably done via a script). I imagine removing unnecessary #includes, as you suggest above, would provide a much bigger benefit. In a previous job, I spent a lot of time optimizing build times and reducing the number of include directories scanned made an enormous difference. However, that was C, not C++, and so the compilation and link steps were much faster than the preprocessing step (compared to C++, at least). I would still expect the file system scanning to be much slower than the actual preprocessing, so fixing include paths would probably still make a bigger difference than reducing unnecessary includes, but I'm not sure how much difference either contributes to the overall numbers. -- Dirk ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
Hi, For what it's worth I created all-in-one source files where they didn't already exist (css, dom, editing, history, etc.), and was able to drop my full rebuild time to a couple of minutes. -Ben On 6/8/2010 3:17 PM, Eric Seidel wrote: Has anyone spent any time trying to reduce the number of includes in WebCore? I know we have: https://trac.webkit.org/browser/trunk/WebKitTools/Scripts/find-extra-includes But I feel like we still have way too many unnecessary includes. I failed to find any tools for reducing build times or includes with my brief Google searching. But perhaps others have looked into this problem for WebKit or other projects? On my Intel Core 2 Duo MBP a full build takes over 1 hour. 5 years ago, on my g4 laptop a full build took around 40m. :( We seem to be slowly moving in the wrong direction. -eric ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] WebCore Build Times
08.06.2010, в 15:21, Peter Kasting написал(а): I know someone once suggested that the build would be sped up if the #includes had longer paths (something like what happens in the Chromium tree) so that the toolchain didn't have to spend as much time scanning the (large) number of different directories on the #include path list. I believe Xcode keeps an in-memory map for file name to path mapping. This doesn't help other build systems, but the fact that build-webkit isn't blazing fast on Mac indicates that something else might be a culprit. - WBR, Alexey Proskuryakov ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev