<?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>76252</bug_id>
          
          <creation_ts>2012-01-13 00:23:14 -0800</creation_ts>
          <short_desc>Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.</short_desc>
          <delta_ts>2012-01-13 03:37:01 -0800</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 (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>535494</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-01-13 00:23:14 -0800</bug_when>
    <thetext>_calculateFlags speed is about 10k edges per second.
It requires 150sec for the snapshot with 1.5m edges.
The root of problem is var node = list.shift();
It is not effective in term of memory and cpu.
In our case it can be replaced with pop().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535499</commentid>
    <comment_count>1</comment_count>
      <attachid>122389</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-01-13 00:37:16 -0800</bug_when>
    <thetext>Created attachment 122389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535568</commentid>
    <comment_count>2</comment_count>
      <attachid>122389</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-01-13 03:36:53 -0800</bug_when>
    <thetext>Comment on attachment 122389
Patch

Clearing flags on attachment: 122389

Committed r104916: &lt;http://trac.webkit.org/changeset/104916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535569</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-01-13 03:37:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122389</attachid>
            <date>2012-01-13 00:37:16 -0800</date>
            <delta_ts>2012-01-13 03:36:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76252-20120113123711.patch</filename>
            <type>text/plain</type>
            <size>2733</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhjYmRkMDA4YzllNjYx
YzJjZWJiNjUxOTIxZjEyNWRmMzA2NGEyYi4uNjgwOWRiYjVkYjU5YTgxMTk4Njc3Mjk4MDlkMDVi
ODhmNmIwMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAxLTEzICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBEZXRhaWxlZCBoZWFwIHNuYXBzaG90LiBfY2FsY3VsYXRlRmxhZ3MgaXMgdG9vIHNsb3cg
b24gYSBsYXJnZSBoZWFwIHNuYXBzaG90LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTIKKworICAgICAgICBfY2FsY3VsYXRlRmxhZ3Mgc3BlZWQg
aXMgYWJvdXQgMTBrIGVkZ2VzIHBlciBzZWNvbmQuCisgICAgICAgIEl0IHJlcXVpcmVzIDE1MHNl
YyBmb3IgdGhlIHNuYXBzaG90IHdpdGggMS41bSBlZGdlcy4KKyAgICAgICAgVGhlIHJvb3Qgb2Yg
cHJvYmxlbSBpcyB2YXIgbm9kZSA9IGxpc3Quc2hpZnQoKTsKKyAgICAgICAgc2hpZnQoKSBpcyBu
b3QgZWZmZWN0aXZlIGluIHRlcm0gb2YgbWVtb3J5IGFuZCBjcHUuCisgICAgICAgIEluIG91ciBj
YXNlIGl0IGNhbiBiZSByZXBsYWNlZCB3aXRoIHBvcCgpLgorICAgICAgICBOb3cgdGhlIGZ1bmN0
aW9uIHdvcmtzIDQwIHRpbWVzIGZhc3Rlci4KKworICAgICAgICBEcml2ZSBieSBjaGFuZ2U6IGlm
IHN0YXRlbWVudCB3YXMgcmVmb3JtYXR0ZWQgYSBiaXQgZm9yIGJldHRlciByZWFkYWJpbGl0eS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdC5wcm90b3R5cGUuX2NhbGN1bGF0ZUZsYWdzKToKKwogMjAxMi0wMS0xMiAgR2F2
aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4g
dXAgcHV0RGlyZWN0IChwYXJ0IDIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSGVhcFNuYXBzaG90LmpzCmluZGV4IDY5ZjRlYzBlMWNhMzYwNWFjNmNkNTk0NzI0
OWMwMTQxNTdjNWNjZWEuLmE3ODgwZWI2NGM0ZmM0NjEwY2FlYjc3N2RhNmMxODhhNzcwMTdjYjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBz
aG90LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBz
aG90LmpzCkBAIC0xMDQ1LDE2ICsxMDQ1LDI1IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3Qu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKGl0ZXIuZWRnZS5ub2RlLmlzRE9NV2luZG93
KQogICAgICAgICAgICAgICAgIGxpc3QucHVzaChpdGVyLmVkZ2Uubm9kZSk7CiAgICAgICAgIH0K
KwogICAgICAgICB3aGlsZSAobGlzdC5sZW5ndGgpIHsKLSAgICAgICAgICAgIHZhciBub2RlID0g
bGlzdC5zaGlmdCgpOwotICAgICAgICAgICAgaWYgKG5vZGUuY2FuQmVRdWVyaWVkKSBjb250aW51
ZTsKKyAgICAgICAgICAgIHZhciBub2RlID0gbGlzdC5wb3AoKTsKKyAgICAgICAgICAgIGlmICh0
aGlzLl9mbGFnc1tub2RlLm5vZGVJbmRleF0pCisgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB0aGlzLl9mbGFnc1tub2RlLm5vZGVJbmRleF0gPSBmbGFnOwogICAgICAgICAg
ICAgZm9yICh2YXIgaXRlciA9IG5vZGUuZWRnZXM7IGl0ZXIuaGFzTmV4dCgpOyBpdGVyLm5leHQo
KSkgewogICAgICAgICAgICAgICAgIHZhciBlZGdlID0gaXRlci5lZGdlOwotICAgICAgICAgICAg
ICAgIGlmICghZWRnZS5pc0hpZGRlbiAmJiAhZWRnZS5pc0ludmlzaWJsZSAmJgotICAgICAgICAg
ICAgICAgICAgICBlZGdlLm5hbWUgJiYgKCFlZGdlLmlzSW50ZXJuYWwgfHwgZWRnZS5uYW1lID09
PSAibmF0aXZlIikgJiYKLSAgICAgICAgICAgICAgICAgICAgIWVkZ2Uubm9kZS5jYW5CZVF1ZXJp
ZWQpCi0gICAgICAgICAgICAgICAgICAgIGxpc3QucHVzaChlZGdlLm5vZGUpOworICAgICAgICAg
ICAgICAgIHZhciBub2RlID0gZWRnZS5ub2RlOworICAgICAgICAgICAgICAgIGlmICh0aGlzLl9m
bGFnc1tub2RlLm5vZGVJbmRleF0pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIGlmIChlZGdlLmlzSGlkZGVuIHx8IGVkZ2UuaXNJbnZpc2libGUpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHZhciBuYW1lID0gZWRn
ZS5uYW1lOworICAgICAgICAgICAgICAgIGlmICghbmFtZSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKGVkZ2UuaXNJbnRlcm5hbCAmJiBuYW1lICE9
PSAibmF0aXZlIikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgbGlzdC5wdXNoKG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>