Title: [282367] trunk/Source/WebKit
Revision
282367
Author
timothy_hor...@apple.com
Date
2021-09-13 15:26:19 -0700 (Mon, 13 Sep 2021)

Log Message

Postprocess framework headers in parallel
https://bugs.webkit.org/show_bug.cgi?id=230198

Reviewed by Wenson Hsieh.

* mac/postprocess-framework-headers.sh:
Previously, the framework header postprocessing step operated serially
on each of our 665 framework headers; not doing a particularly large
amount of work on any, but still, 20 wall clock ms * 665 headers is
a good chunk of time.

Instead, run them in parallel and wait on the result.

On a 10 core machine, this better than halves the time of a WebKit-only
null build (from 36 seconds to 15).

This is definitely not an ideal solution; we're still wasting a ton
of time launching processes; it's likely possible to get further wins
here; on the other hand, header postprocessing only takes 2 seconds now.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (282366 => 282367)


--- trunk/Source/WebKit/ChangeLog	2021-09-13 22:18:26 UTC (rev 282366)
+++ trunk/Source/WebKit/ChangeLog	2021-09-13 22:26:19 UTC (rev 282367)
@@ -1,3 +1,25 @@
+2021-09-13  Tim Horton  <timothy_hor...@apple.com>
+
+        Postprocess framework headers in parallel
+        https://bugs.webkit.org/show_bug.cgi?id=230198
+
+        Reviewed by Wenson Hsieh.
+
+        * mac/postprocess-framework-headers.sh:
+        Previously, the framework header postprocessing step operated serially
+        on each of our 665 framework headers; not doing a particularly large
+        amount of work on any, but still, 20 wall clock ms * 665 headers is
+        a good chunk of time.
+
+        Instead, run them in parallel and wait on the result.
+
+        On a 10 core machine, this better than halves the time of a WebKit-only
+        null build (from 36 seconds to 15).
+
+        This is definitely not an ideal solution; we're still wasting a ton
+        of time launching processes; it's likely possible to get further wins
+        here; on the other hand, header postprocessing only takes 2 seconds now.
+
 2021-09-13  Chris Dumez  <cdu...@apple.com>
 
         Relax BroadcastChannel origin partitioning if iframe has storage access

Modified: trunk/Source/WebKit/mac/postprocess-framework-headers.sh (282366 => 282367)


--- trunk/Source/WebKit/mac/postprocess-framework-headers.sh	2021-09-13 22:18:26 UTC (rev 282366)
+++ trunk/Source/WebKit/mac/postprocess-framework-headers.sh	2021-09-13 22:26:19 UTC (rev 282367)
@@ -33,8 +33,9 @@
         SCRIPT_HEADER_VISIBILITY="${2}" \
         SCRIPT_INPUT_FILE="${HEADER_PATH}" \
         SCRIPT_OUTPUT_FILE_0="${HEADER_PATH}" \
-            "${POSTPROCESS_HEADER_RULE}"
+            "${POSTPROCESS_HEADER_RULE}" &
     done
+    wait
 }
 
 rewrite_headers "${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}" Public
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to