<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>230198</bug_id>
          
          <creation_ts>2021-09-12 02:47:09 -0700</creation_ts>
          <short_desc>Postprocess framework headers in parallel</short_desc>
          <delta_ts>2022-04-15 15:35:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230300</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>ap</cc>
    
    <cc>emw</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792764</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-12 02:47:09 -0700</bug_when>
    <thetext>Postprocess framework headers in parallel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792765</commentid>
    <comment_count>1</comment_count>
      <attachid>437983</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-12 02:50:30 -0700</bug_when>
    <thetext>Created attachment 437983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792766</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-12 02:52:53 -0700</bug_when>
    <thetext>(if anybody knows how to easily limit the parallelism here, I&apos;m all ears)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792768</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-12 02:54:24 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; (if anybody knows how to easily limit the parallelism here, I&apos;m all ears)

(at the same time, it doesn&apos;t really seem to be a problem?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792777</commentid>
    <comment_count>4</comment_count>
      <attachid>437983</attachid>
    <who name="">mitz</who>
    <bug_when>2021-09-12 07:59:22 -0700</bug_when>
    <thetext>Comment on attachment 437983
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=437983&amp;action=review

My understanding is that this script shouldn’t even get invoked when using Xcode’s modern build system. Are you fixing a problem seen when using the legacy build system?

&gt; Source/WebKit/ChangeLog:20
&gt; +        of time launching processes; it&apos;s likely possible to get further wins

Refactoring ${POSTPROCESS_HEADER_RULE}s to declare a function and using it from here would likely help more than this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792840</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-12 20:59:56 -0700</bug_when>
    <thetext>(In reply to mitz from comment #4)
&gt; Comment on attachment 437983 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437983&amp;action=review
&gt; 
&gt; My understanding is that this script shouldn’t even get invoked when using
&gt; Xcode’s modern build system. Are you fixing a problem seen when using the
&gt; legacy build system?

Yes, we currently still use the legacy build system when building locally.

&gt; &gt; Source/WebKit/ChangeLog:20
&gt; &gt; +        of time launching processes; it&apos;s likely possible to get further wins
&gt; 
&gt; Refactoring ${POSTPROCESS_HEADER_RULE}s to declare a function and using it
&gt; from here would likely help more than this.

Likely!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793118</commentid>
    <comment_count>6</comment_count>
      <attachid>437983</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-13 15:13:15 -0700</bug_when>
    <thetext>Comment on attachment 437983
Patch

Let&apos;s see how this goes (we should see if we can improve more, though now WebKitAdditions rewriting is the hot path, not this).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793122</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-13 15:26:27 -0700</bug_when>
    <thetext>Committed r282367 (241630@main): &lt;https://commits.webkit.org/241630@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437983.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793123</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-13 15:27:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/83075272&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793181</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-13 18:38:22 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #6)
&gt; Comment on attachment 437983 [details]
&gt; Patch
&gt; 
&gt; Let&apos;s see how this goes (we should see if we can improve more, though now
&gt; WebKitAdditions rewriting is the hot path, not this).

(Assuming you&apos;re referring to replace-webkit-additions-includes.py, and the build phase that calls into it) I think we should actually be able to remove that build phase and script altogether, since we don&apos;t currently have any public APIs whose name cannot be landed in open source.

I think that if we need it again in the future, we can just resurrect it (since it exists in git history anyways).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793637</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-15 01:50:21 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #9)
&gt; (In reply to Tim Horton from comment #6)
&gt; &gt; Comment on attachment 437983 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Let&apos;s see how this goes (we should see if we can improve more, though now
&gt; &gt; WebKitAdditions rewriting is the hot path, not this).
&gt; 
&gt; (Assuming you&apos;re referring to replace-webkit-additions-includes.py, and the
&gt; build phase that calls into it) I think we should actually be able to remove
&gt; that build phase and script altogether, since we don&apos;t currently have any
&gt; public APIs whose name cannot be landed in open source.
&gt; 
&gt; I think that if we need it again in the future, we can just resurrect it
&gt; (since it exists in git history anyways).

Good call, that&apos;s another 4 seconds (down to 11!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861932</commentid>
    <comment_count>11</comment_count>
      <attachid>437983</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-04-15 15:07:08 -0700</bug_when>
    <thetext>Comment on attachment 437983
Patch

The good news is that XCBuild doesn&apos;t use this script at all: It runs the postprocessing step on each header in parellel. But this seems fine to me as a temporary stopgap :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861933</commentid>
    <comment_count>12</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-04-15 15:09:23 -0700</bug_when>
    <thetext>(In reply to Elliott Williams from comment #11)
&gt; Comment on attachment 437983 [details]
&gt; Patch
&gt; 
&gt; The good news is that XCBuild doesn&apos;t use this script at all: It runs the
&gt; postprocessing step on each header in parellel. But this seems fine to me as
&gt; a temporary stopgap :)

Er, actually, we&apos;ve already deleted this file as part of the XCBuild migration -- this headers phase is one of the parts of the build that has adopted XCBuild early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861939</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-04-15 15:35:21 -0700</bug_when>
    <thetext>(In reply to Elliott Williams from comment #12)
&gt; (In reply to Elliott Williams from comment #11)
&gt; &gt; Comment on attachment 437983 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; The good news is that XCBuild doesn&apos;t use this script at all: It runs the
&gt; &gt; postprocessing step on each header in parellel. But this seems fine to me as
&gt; &gt; a temporary stopgap :)
&gt; 
&gt; Er, actually, we&apos;ve already deleted this file as part of the XCBuild
&gt; migration -- this headers phase is one of the parts of the build that has
&gt; adopted XCBuild early.

This landed a long time ago!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437983</attachid>
            <date>2021-09-12 02:50:30 -0700</date>
            <delta_ts>2021-09-13 15:26:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230198-20210912025030.patch</filename>
            <type>text/plain</type>
            <size>2016</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2YTgyNjZiY2Y2ZWU5YmUz
YmU2ZjkxMWEzOWEzYzNkMWE4NjBmYzEuLjZhZjkzNDQ2MDQ5YjM1YjI1NGRlMmU3MmQ4ZWY0OWQy
MDY2NTU0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDktMTIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUG9zdHByb2Nlc3MgZnJh
bWV3b3JrIGhlYWRlcnMgaW4gcGFyYWxsZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDE5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogbWFjL3Bvc3Rwcm9jZXNzLWZyYW1ld29yay1oZWFkZXJzLnNo
OgorICAgICAgICBQcmV2aW91c2x5LCB0aGUgZnJhbWV3b3JrIGhlYWRlciBwb3N0cHJvY2Vzc2lu
ZyBzdGVwIG9wZXJhdGVkIHNlcmlhbGx5CisgICAgICAgIG9uIGVhY2ggb2Ygb3VyIDY2NSBmcmFt
ZXdvcmsgaGVhZGVyczsgbm90IGRvaW5nIGEgcGFydGljdWxhcmx5IGxhcmdlCisgICAgICAgIGFt
b3VudCBvZiB3b3JrIG9uIGFueSwgYnV0IHN0aWxsLCAyMCB3YWxsIGNsb2NrIG1zICogNjY1IGhl
YWRlcnMgaXMKKyAgICAgICAgYSBnb29kIGNodW5rIG9mIHRpbWUuCisKKyAgICAgICAgSW5zdGVh
ZCwgcnVuIHRoZW0gaW4gcGFyYWxsZWwgYW5kIHdhaXQgb24gdGhlIHJlc3VsdC4KKworICAgICAg
ICBPbiBhIDEwIGNvcmUgbWFjaGluZSwgdGhpcyBiZXR0ZXIgdGhhbiBoYWx2ZXMgdGhlIHRpbWUg
b2YgYSBXZWJLaXQtb25seQorICAgICAgICBudWxsIGJ1aWxkIChmcm9tIDM2IHNlY29uZHMgdG8g
MTUpLgorCisgICAgICAgIFRoaXMgaXMgZGVmaW5pdGVseSBub3QgYW4gaWRlYWwgc29sdXRpb247
IHdlJ3JlIHN0aWxsIHdhc3RpbmcgYSB0b24KKyAgICAgICAgb2YgdGltZSBsYXVuY2hpbmcgcHJv
Y2Vzc2VzOyBpdCdzIGxpa2VseSBwb3NzaWJsZSB0byBnZXQgZnVydGhlciB3aW5zCisgICAgICAg
IGhlcmU7IG9uIHRoZSBvdGhlciBoYW5kLCBoZWFkZXIgcG9zdHByb2Nlc3Npbmcgb25seSB0YWtl
cyAyIHNlY29uZHMgbm93LgorCiAyMDIxLTA5LTEwICBQZXIgQXJuZSBWb2xsYW4gPHB2b2xsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gVXNlIG1hY3JvIHRvIGNsb3NlIFhQQyBjb25u
ZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9wb3N0cHJvY2Vzcy1mcmFtZXdv
cmstaGVhZGVycy5zaCBiL1NvdXJjZS9XZWJLaXQvbWFjL3Bvc3Rwcm9jZXNzLWZyYW1ld29yay1o
ZWFkZXJzLnNoCmluZGV4IGJiNDBlMGRkYWI5MzQ2NTRjYmE4Y2ExYmVhZTAzYWQ0NDRlZjk2MTYu
LmY0OGFhOTcxM2FhYzg5NTdhM2VhOGUxMzc2NzkwM2JiYmQ0NDYwNjcgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL3Bvc3Rwcm9jZXNzLWZyYW1ld29yay1oZWFkZXJzLnNoCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL3Bvc3Rwcm9jZXNzLWZyYW1ld29yay1oZWFkZXJzLnNoCkBAIC0zMyw4
ICszMyw5IEBAIGZ1bmN0aW9uIHJld3JpdGVfaGVhZGVycyAoKQogICAgICAgICBTQ1JJUFRfSEVB
REVSX1ZJU0lCSUxJVFk9IiR7Mn0iIFwKICAgICAgICAgU0NSSVBUX0lOUFVUX0ZJTEU9IiR7SEVB
REVSX1BBVEh9IiBcCiAgICAgICAgIFNDUklQVF9PVVRQVVRfRklMRV8wPSIke0hFQURFUl9QQVRI
fSIgXAotICAgICAgICAgICAgIiR7UE9TVFBST0NFU1NfSEVBREVSX1JVTEV9IgorICAgICAgICAg
ICAgIiR7UE9TVFBST0NFU1NfSEVBREVSX1JVTEV9IiAmCiAgICAgZG9uZQorICAgIHdhaXQKIH0K
IAogcmV3cml0ZV9oZWFkZXJzICIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7UFVCTElDX0hFQURFUlNf
Rk9MREVSX1BBVEh9IiBQdWJsaWMK
</data>

          </attachment>
      

    </bug>

</bugzilla>