Re: [webkit-dev] Some compile time data

2011-04-26 Thread Mihai Parparita
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

2011-04-26 Thread Adam Roben
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

2011-04-25 Thread Stephanie Lewis
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

2011-04-25 Thread Alexey Proskuryakov

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