Re: [webkit-dev] Some compile time data
Somewhat related to all this, if you'd like to keep an eye on your Xcode build times, you can use: $ defaults write com.apple.Xcode ShowBuildOperationDuration YES To have the build time show up in the status bar (at least with Xcode 3.x). Mihai On Mon, Apr 25, 2011 at 7:51 PM, Alexey Proskuryakov a...@webkit.org wrote: 25.04.2011, в 16:59, Stephanie Lewis написал(а): 12/trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm One way this can be optimized is by avoiding touching unchanged files. I believe that most of the time, modifications to the code generator don't change a lot of generated files. - WBR, Alexey Proskuryakov ___ 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] Some compile time data
On Apr 26, 2011, at 1:30 PM, David Kilzer wrote: On Apr 25, 2011, at 4:59 PM, Stephanie Lewis wrote: One point brought up during the compile time discussion today was that if you pulled once a day, you were likely to have rebuild the world. I thought it would be interesting to see which files were contributing to rebuilding the world the most often. Using the data provided by Mihai at http://persistent.info/webkit/tools/buildbot/ I wrote a script to find all of the revisions that took ~2x the average time to compile. Then I matched that up with the file list from svn log to get an idea of which files are triggering world builds the most often (or at least recently). Of the 500 revisions 152 spiked compile time. Here are the most common changed files, full data attached. 12 /trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 12 /trunk/Source/WebCore/bindings/js/JSDOMBinding.h 10 /trunk/Source/WebCore/WebCore.exp.in Changing WebCore.exp.in should only require relinking WebCore, not recompiling it, although linking WebCore takes a non-trivial amount of time. (The WebCoreExportGenerator project will get recompiled, but that's generally negligible compared to WebCore itself.) It seems likely that WebCore.exp.in is changing in conjunction with other files, in particular header files which are #included by WebKit. -Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] Some compile time data
One point brought up during the compile time discussion today was that if you pulled once a day, you were likely to have rebuild the world. I thought it would be interesting to see which files were contributing to rebuilding the world the most often. Using the data provided by Mihai at http://persistent.info/webkit/tools/buildbot/ I wrote a script to find all of the revisions that took ~2x the average time to compile. Then I matched that up with the file list from svn log to get an idea of which files are triggering world builds the most often (or at least recently). Of the 500 revisions 152 spiked compile time. Here are the most common changed files, full data attached. 12 /trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 12 /trunk/Source/WebCore/bindings/js/JSDOMBinding.h 10 /trunk/Source/WebCore/WebCore.exp.in 9 /trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 9 /trunk/Source/WebCore/bindings/js/JSNodeCustom.h 9 /trunk/Source/JavaScriptCore/wtf/Platform.h 8 /trunk/Source/WebCore/page/DOMWindow.h 8 /trunk/Source/WebCore/dom/Node.h 7 /trunk/Source/WebCore/GNUmakefile.list.am 7 /trunk/Source/WebCore/WebCore.pro 6 /trunk/Source/WebCore/CMakeLists.txt 6 /trunk/Source/WebCore/WebCore.gypi 6 /trunk/Source/WebCore/dom/Document.h 6 /trunk/Source/JavaScriptCore/JavaScriptCore.exp 6 /trunk/Source/JavaScriptCore/heap/MarkStack.h 6 /trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 6 /trunk/Source/JavaScriptCore/runtime/WriteBarrier.h 6 /trunk/Source/WebCore/platform/ScrollableArea.h 5 /trunk/Source/WebCore/rendering/RenderBoxModelObject.h 5 /trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl 5 /trunk/Source/WebCore/page/DOMSelection.idl 5 /trunk/Source/WebCore/page/Console.idl 5 /trunk/Source/WebCore/page/Location.idl 5 /trunk/Source/WebCore/storage/Storage.idl 5 /trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 5 /trunk/Source/WebCore/page/Navigator.idl 5 /trunk/Source/WebCore/workers/WorkerContext.h 5 /trunk/Source/JavaScriptCore/runtime/Structure.h 5 /trunk/Source/WebCore/page/History.idl 5 /trunk/Source/WebCore/css/StyleMedia.idl 5 /trunk/Source/WebCore/page/Screen.idl 5 /trunk/Source/WebCore/page/BarInfo.idl 5 /trunk/Source/WebCore/page/Geolocation.idl 12 /trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 12 /trunk/Source/WebCore/bindings/js/JSDOMBinding.h 10 /trunk/Source/WebCore/WebCore.exp.in 9 /trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 9 /trunk/Source/WebCore/bindings/js/JSNodeCustom.h 9 /trunk/Source/JavaScriptCore/wtf/Platform.h 8 /trunk/Source/WebCore/page/DOMWindow.h 8 /trunk/Source/WebCore/dom/Node.h 7 /trunk/Source/WebCore/GNUmakefile.list.am 7 /trunk/Source/WebCore/WebCore.pro 6 /trunk/Source/WebCore/CMakeLists.txt 6 /trunk/Source/WebCore/WebCore.gypi 6 /trunk/Source/WebCore/dom/Document.h 6 /trunk/Source/JavaScriptCore/JavaScriptCore.exp 6 /trunk/Source/JavaScriptCore/heap/MarkStack.h 6 /trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj 6 /trunk/Source/JavaScriptCore/runtime/WriteBarrier.h 6 /trunk/Source/WebCore/platform/ScrollableArea.h 5 /trunk/Source/WebCore/rendering/RenderBoxModelObject.h 5 /trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl 5 /trunk/Source/WebCore/page/DOMSelection.idl 5 /trunk/Source/WebCore/page/Console.idl 5 /trunk/Source/WebCore/page/Location.idl 5 /trunk/Source/WebCore/storage/Storage.idl 5 /trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 5 /trunk/Source/WebCore/page/Navigator.idl 5 /trunk/Source/WebCore/workers/WorkerContext.h 5 /trunk/Source/JavaScriptCore/runtime/Structure.h 5 /trunk/Source/WebCore/page/History.idl 5 /trunk/Source/WebCore/css/StyleMedia.idl 5 /trunk/Source/WebCore/page/Screen.idl 5 /trunk/Source/WebCore/page/BarInfo.idl 5 /trunk/Source/WebCore/page/Geolocation.idl 4 /trunk/Source/WebCore/rendering/style/RenderStyle.h 4 /trunk/Source/WebCore/page/FrameView.h 4 /trunk/Source/WebCore/inspector/Inspector.json 4 /trunk/Source/JavaScriptCore/runtime/StructureTransitionTable.h 4 /trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h 4 /trunk/Source/WebCore/inspector/front-end/NetworkManager.js 4 /trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h 4 /trunk/Source/JavaScriptCore/heap/Strong.h 4 /trunk/Source/WebCore/DerivedSources.make 4 /trunk/Source/JavaScriptCore/runtime/JSValue.h 4 /trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def 4 /trunk/Source/WebCore/platform/graphics/GraphicsContext.h 4 /trunk/Source/WebCore/rendering/RenderObject.h 3
Re: [webkit-dev] Some compile time data
25.04.2011, в 16:59, Stephanie Lewis написал(а): 12/trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm One way this can be optimized is by avoiding touching unchanged files. I believe that most of the time, modifications to the code generator don't change a lot of generated files. - WBR, Alexey Proskuryakov ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev