<?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>149726</bug_id>
          
          <creation_ts>2015-10-01 15:18:55 -0700</creation_ts>
          <short_desc>Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline</short_desc>
          <delta_ts>2015-10-01 16:34:40 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1130051</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-01 15:18:55 -0700</bug_when>
    <thetext>* SUMMARY
Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline.

When switching to JavaScript and Events timeline we accidentally create ProfileNodeDataGrid / ProfileNodeTreeElements for every single profile node. Some samples this can be &gt; 500000 tree elements. This causes significant performance impact on tasks like sorting and filtering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130052</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-10-01 15:19:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/22941804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130056</commentid>
    <comment_count>2</comment_count>
      <attachid>262288</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-01 15:28:11 -0700</bug_when>
    <thetext>Created attachment 262288
[PATCH] Proposed Fix

This brings Script &amp; Events to a usable level of performance as long as you don&apos;t have a text filter.

  1. Switching to the timeline doesn&apos;t create 500000+ tree elements
  2. Sorting the timeline doesn&apos;t need to update 500000+ tree elements

However, this does mean the first time you do a text filter we have abysmal performance, as we create these tree elements at that time and walk all of them, maybe expand portions, and calculate ProfileNode times. I think that is a reasonable step forward at the moment and we will work to improve that next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130068</commentid>
    <comment_count>3</comment_count>
      <attachid>262288</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-10-01 15:46:56 -0700</bug_when>
    <thetext>Comment on attachment 262288
[PATCH] Proposed Fix

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130084</commentid>
    <comment_count>4</comment_count>
      <attachid>262288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 16:34:36 -0700</bug_when>
    <thetext>Comment on attachment 262288
[PATCH] Proposed Fix

Clearing flags on attachment: 262288

Committed r190437: &lt;http://trac.webkit.org/changeset/190437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130085</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 16:34:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262288</attachid>
            <date>2015-10-01 15:28:11 -0700</date>
            <delta_ts>2015-10-01 16:34:36 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>filter-1.patch</filename>
            <type>text/plain</type>
            <size>3760</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDdlZmU1OWIuLmE1Yjk3MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTEwLTAxICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRG8gbm90
IGltbWVkaWF0ZWx5IGNyZWF0ZSBhbGwgUHJvZmlsZU5vZGVUcmVlRWxlbWVudHMgd2hlbiBzaG93
aW5nIEphdmFTY3JpcHQgYW5kIEV2ZW50cyB0aW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuc2hvdWxkRmlsdGVyUG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl91cGRhdGVGaWx0ZXIpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl90
cmVlRWxlbWVudEFkZGVkT3JDaGFuZ2VkKToKKyAgICAgICAgV2Ugd2VyZSBwb3B1bGF0aW5nIGR1
cmluZyBmaWx0ZXJpbmcgaWYgdGhlcmUgd2VyZSBhbnkgY3VzdG9tIGZpbHRlcnMuCisgICAgICAg
IEhvd2V2ZXIgdGhlIFRpbWVsaW5lU2lkZWJhclBhbmVsIGhhcyBjdXN0b20gZmlsdGVycyAoYmFz
ZWQgb24gdGltZSBhbmQgdHlwZSkKKyAgICAgICAgYnV0IHRob3NlIGRvbid0IG5lZWQgdG8gdHJp
Z2dlciBwb3B1bGF0aW9uLiBEZWxheSBwb3B1bGF0aW9uIHVudGlsIGl0CisgICAgICAgIHdvdWxk
IGFjdHVhbGx5IGJlIG5lZWRlZCAobGlrZSBhIHRleHQgc2VhcmNoKS4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLnNob3VsZEZpbHRlclBvcHVs
YXRlKToKKyAgICAgICAgRG8gbm90IHBvcHVsYXRlIG9uIGZpbHRlciB2aWEgdGhpcyBjdXN0b20g
ZmlsdGVycy4KKwogMjAxNS0wOS0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZHVjZSBgZGVsZXRlYCBpbiBUaW1lbGlu
ZSByZWxhdGVkIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IDk1YzFjMmIuLjY5YWUyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5l
bC5qcwpAQCAtMjkyLDYgKzI5MiwxMiBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQ
YW5lbCA9IGNsYXNzIE5hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbgogICAgICAg
ICB0aGlzLl91cGRhdGVGaWx0ZXIoKTsKICAgICB9CiAKKyAgICBzaG91bGRGaWx0ZXJQb3B1bGF0
ZSgpCisgICAgeworICAgICAgICAvLyBPdmVycmlkZW4gYnkgc3ViY2xhc3NlcyBpZiBuZWVkZWQu
CisgICAgICAgIHJldHVybiB0aGlzLmhhc0N1c3RvbUZpbHRlcnMoKTsKKyAgICB9CisKICAgICBo
YXNDdXN0b21GaWx0ZXJzKCkKICAgICB7CiAgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNs
YXNzZXMgaWYgbmVlZGVkLgpAQCAtNTI1LDcgKzUzMSw3IEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0
aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFdl
YkluCiAKICAgICAgICAgLy8gRG9uJ3QgcG9wdWxhdGUgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYWN0
aXZlIGZpbHRlcnMuCiAgICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byBwb3B1bGF0ZSB3aGVuIGEg
ZmlsdGVyIG5lZWRzIHRvIHJldmVhbC4KLSAgICAgICAgdmFyIGRvbnRQb3B1bGF0ZSA9ICF0aGlz
Ll9maWx0ZXJCYXIuaGFzQWN0aXZlRmlsdGVycygpICYmICF0aGlzLmhhc0N1c3RvbUZpbHRlcnMo
KTsKKyAgICAgICAgdmFyIGRvbnRQb3B1bGF0ZSA9ICF0aGlzLl9maWx0ZXJCYXIuaGFzQWN0aXZl
RmlsdGVycygpICYmICF0aGlzLnNob3VsZEZpbHRlclBvcHVsYXRlKCk7CiAKICAgICAgICAgLy8g
VXBkYXRlIHRoZSB3aG9sZSB0cmVlLgogICAgICAgICB2YXIgY3VycmVudFRyZWVFbGVtZW50ID0g
dGhpcy5fY29udGVudFRyZWVPdXRsaW5lLmNoaWxkcmVuWzBdOwpAQCAtNTU0LDcgKzU2MCw3IEBA
IFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgTmF2aWdhdGlvblNp
ZGViYXJQYW5lbCBleHRlbmRzIFdlYkluCiAgICAgewogICAgICAgICAvLyBEb24ndCBwb3B1bGF0
ZSBpZiB3ZSBkb24ndCBoYXZlIGFueSBhY3RpdmUgZmlsdGVycy4KICAgICAgICAgLy8gV2Ugb25s
eSBuZWVkIHRvIHBvcHVsYXRlIHdoZW4gYSBmaWx0ZXIgbmVlZHMgdG8gcmV2ZWFsLgotICAgICAg
ICB2YXIgZG9udFBvcHVsYXRlID0gIXRoaXMuX2ZpbHRlckJhci5oYXNBY3RpdmVGaWx0ZXJzKCkg
JiYgIXRoaXMuaGFzQ3VzdG9tRmlsdGVycygpOworICAgICAgICB2YXIgZG9udFBvcHVsYXRlID0g
IXRoaXMuX2ZpbHRlckJhci5oYXNBY3RpdmVGaWx0ZXJzKCkgJiYgIXRoaXMuc2hvdWxkRmlsdGVy
UG9wdWxhdGUoKTsKIAogICAgICAgICAvLyBBcHBseSB0aGUgZmlsdGVycyB0byB0aGUgdHJlZSBl
bGVtZW50IGFuZCBpdHMgZGVzY2VuZGFudHMuCiAgICAgICAgIHZhciBjdXJyZW50VHJlZUVsZW1l
bnQgPSB0cmVlRWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5kZXgg
ZjU2ZTBiYi4uNDUxYjdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKQEAg
LTM5OSw2ICszOTksMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xh
c3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5f
ZGlzcGxheWVkQ29udGVudFZpZXcuZmlsdGVyRGlkQ2hhbmdlKCk7CiAgICAgfQogCisgICAgc2hv
dWxkRmlsdGVyUG9wdWxhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KwogICAgIGhhc0N1c3RvbUZpbHRlcnMoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>