-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Expensive Headers
Jer Noble edited this page Sep 5, 2025
·
9 revisions
This page contains a list of the most "expensive" headers (in terms of CPU time spent compiling said headers) in various projects within WebKit. This data was generated by clang -ftime and collated for analysis by ClangBuildAnalyzer, per the instructions at Analyzing Build Performance.
Current data is as of 299578@main.
164678 ms: Source/JavaScriptCore/bytecode/CodeBlock.h (included 186 times, avg 885 ms)
133028 ms: Source/JavaScriptCore/runtime/JSCellInlines.h (included 168 times, avg 791 ms)
125009 ms: Source/JavaScriptCore/runtime/JSCJSValueInlines.h (included 155 times, avg 806 ms)
95989 ms: Source/JavaScriptCore/assembler/MacroAssembler.h (included 194 times, avg 494 ms)
83031 ms: Source/JavaScriptCore/runtime/VM.h (included 194 times, avg 427 ms)
78779 ms: Source/JavaScriptCore/jit/GPRInfo.h (included 193 times, avg 408 ms)
58192 ms: Source/JavaScriptCore/jit/CCallHelpers.h (included 188 times, avg 309 ms)
44277 ms: Source/JavaScriptCore/runtime/JSGlobalObject.h (included 187 times, avg 236 ms)
41354 ms: Source/JavaScriptCore/bytecode/ArrayProfile.h (included 190 times, avg 217 ms)
38563 ms: WebKitBuild/Debug/usr/local/include/wtf/Threading.h (included 204 times, avg 189 ms)
30704 ms: Source/JavaScriptCore/runtime/Options.h (included 201 times, avg 152 ms)
30583 ms: runtime/JSCInlines.h (included 48 times, avg 637 ms)
29425 ms: Source/JavaScriptCore/runtime/JSCast.h (included 194 times, avg 151 ms)
27514 ms: WebKitBuild/Debug/DerivedSources/JavaScriptCore/BytecodeStructs.h (included 53 times, avg 519 ms)
26719 ms: runtime/JSCJSValueInlines.h (included 14 times, avg 1908 ms)
26188 ms: dfg/DFGGraph.h (included 17 times, avg 1540 ms)
26128 ms: Source/JavaScriptCore/b3/testb3.h (included 8 times, avg 3266 ms)
25817 ms: Source/JavaScriptCore/config.h (included 227 times, avg 113 ms)
24371 ms: Source/JavaScriptCore/runtime/JSCInlines.h (included 71 times, avg 343 ms)
22190 ms: Source/JavaScriptCore/jit/ExecutableAllocator.h (included 195 times, avg 113 ms)
574684 ms: Source/WebCore/rendering/style/RenderStyleInlines.h (included 261 times, avg 2201 ms)
501728 ms: Source/WebCore/dom/DocumentInlines.h (included 325 times, avg 1543 ms)
420014 ms: WebKitBuild/Debug/JavaScriptCore.framework/PrivateHeaders/JSCJSValueInlines.h (included 303 times, avg 1386 ms)
374314 ms: WebKitBuild/Debug/JavaScriptCore.framework/PrivateHeaders/JSCellInlines.h (included 303 times, avg 1235 ms)
368458 ms: Source/WebCore/dom/ElementInlines.h (included 192 times, avg 1919 ms)
326258 ms: Source/WebCore/rendering/RenderBox.h (included 362 times, avg 901 ms)
314133 ms: Source/WebCore/rendering/RenderObjectInlines.h (included 180 times, avg 1745 ms)
309806 ms: Source/WebCore/platform/graphics/GraphicsLayer.h (included 269 times, avg 1151 ms)
263081 ms: Source/WebCore/dom/NodeInlines.h (included 358 times, avg 734 ms)
243878 ms: WebKitBuild/Debug/JavaScriptCore.framework/PrivateHeaders/JSObjectInlines.h (included 303 times, avg 804 ms)
229806 ms: Source/WebCore/rendering/svg/RenderSVGInlineText.h (included 155 times, avg 1482 ms)
196194 ms: Source/WebCore/rendering/PathOperation.h (included 371 times, avg 528 ms)
181612 ms: Source/WebCore/layout/integration/inline/InlineIteratorBox.h (included 154 times, avg 1179 ms)
181430 ms: Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h (included 94 times, avg 1930 ms)
178498 ms: Source/WebCore/editing/TextIterator.h (included 78 times, avg 2288 ms)
177568 ms: Source/WebCore/layout/integration/inline/InlineIteratorLogicalOrderTraversal.h (included 80 times, avg 2219 ms)
175667 ms: Source/WebCore/platform/animation/AcceleratedEffect.h (included 272 times, avg 645 ms)
175384 ms: Source/WebCore/css/values/shapes/CSSCircleFunction.h (included 432 times, avg 405 ms)
174958 ms: Source/WebCore/css/values/images/CSSGradient.h (included 435 times, avg 402 ms)
169631 ms: Source/WebCore/platform/animation/AcceleratedEffectStack.h (included 270 times, avg 628 ms)
751056 ms: Source/WebKit/Platform/IPC/Decoder.h (included 398 times, avg 1887 ms)
624199 ms: Source/WebKit/Platform/IPC/Connection.h (included 367 times, avg 1700 ms)
468288 ms: Source/WebKit/Platform/Logging.h (included 337 times, avg 1389 ms)
406960 ms: Source/WebKit/Platform/LogClient.h (included 337 times, avg 1207 ms)
341486 ms: Source/WebKit/Shared/Cocoa/WKObject.h (included 161 times, avg 2121 ms)
315552 ms: Source/WebKit/UIProcess/Extensions/WebExtensionContext.h (included 137 times, avg 2303 ms)
221379 ms: Source/WebKit/UIProcess/WebProcessProxy.h (included 182 times, avg 1216 ms)
189271 ms: WebKitBuild/Debug/usr/local/include/wtf/text/StringHash.h (included 440 times, avg 430 ms)
176578 ms: Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h (included 48 times, avg 3678 ms)
170506 ms: Source/WebKit/UIProcess/WebURLSchemeTask.h (included 151 times, avg 1129 ms)
168758 ms: Source/WebKit/UIProcess/API/APIPageConfiguration.h (included 147 times, avg 1148 ms)
168065 ms: Source/WebKit/UIProcess/WebURLSchemeHandler.h (included 150 times, avg 1120 ms)
166349 ms: Source/WebKit/Platform/IPC/ArgumentCoders.h (included 381 times, avg 436 ms)
158482 ms: Source/WebKit/UIProcess/Extensions/WebExtensionController.h (included 137 times, avg 1156 ms)
149840 ms: WebKitBuild/Debug/WebCore.framework/PrivateHeaders/GraphicsLayer.h (included 85 times, avg 1762 ms)
136119 ms: Source/WebKit/UIProcess/API/APIHTTPCookieStore.h (included 144 times, avg 945 ms)
131401 ms: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (included 193 times, avg 680 ms)
126473 ms: WebKitBuild/Debug/usr/local/include/wtf/text/WTFString.h (included 455 times, avg 277 ms)
114229 ms: Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIEvent.h (included 39 times, avg 2928 ms)
105537 ms: Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (included 185 times, avg 570 ms)