<?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>69010</bug_id>
          
          <creation_ts>2011-09-28 10:58:07 -0700</creation_ts>
          <short_desc>Web Inspector: network log view refresh optimizations</short_desc>
          <delta_ts>2011-09-29 04:19:27 -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 (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>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</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>474842</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-09-28 10:58:07 -0700</bug_when>
    <thetext>This is a slight optimization of the way we update refresh network log view: now we create new rows off-screen, so that we spend less time when render tree is updated during updateOffscreenRow(). This also removes a redundant call to updateOffscreenRows() in refresh().

This reduces time for inspector/performance/resources/network-append-30-requests.html from ca 620ms to 590ms on my box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474843</commentid>
    <comment_count>1</comment_count>
      <attachid>109038</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-09-28 11:03:58 -0700</bug_when>
    <thetext>Created attachment 109038
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475224</commentid>
    <comment_count>2</comment_count>
      <attachid>109038</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-28 22:13:40 -0700</bug_when>
    <thetext>Comment on attachment 109038
patch

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

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:678
&gt; +                node.element.addStyleClass(&quot;offscreen&quot;);

You should move this to where the element is accessible after creation: WebInspector.NetworkDataGridNode.prototype.createCells in your case.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:702
&gt; +        // FIXME: evaluate performance impact of moving this before a call to sortItems()

Would be great to address it in this change. Note that while populating the log from scratch, wasScrolledToLastRow is always true. It might be that it is a noop though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475362</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-09-29 04:19:27 -0700</bug_when>
    <thetext>Manually committ(In reply to comment #2)
&gt; (From update of attachment 109038 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109038&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkPanel.js:678
&gt; &gt; +                node.element.addStyleClass(&quot;offscreen&quot;);
&gt; 
&gt; You should move this to where the element is accessible after creation: WebInspector.NetworkDataGridNode.prototype.createCells in your case.

Fixed!

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkPanel.js:702
&gt; &gt; +        // FIXME: evaluate performance impact of moving this before a call to sortItems()
&gt; 
&gt; Would be great to address it in this change. Note that while populating the log from scratch, wasScrolledToLastRow is always true. It might be that it is a noop though.

it trquires a bit more of investigation (probably better benchmark) It&apos;s not a noop now, if I just move it to an earlier moment, we loose some 50ms.
I&apos;m going to come back to this after extending the benchmark suite with profiling-like methods.

Manually committed r96318: http://trac.webkit.org/changeset/96318</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109038</attachid>
            <date>2011-09-28 11:03:58 -0700</date>
            <delta_ts>2011-09-28 22:13:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>refresh-perf.diff</filename>
            <type>text/plain</type>
            <size>1805</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1NTRkZTIwLi43YmQ4OTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDktMjggIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBuZXR3b3JrIGxvZyB2aWV3IHJlZnJlc2ggb3B0aW1pemF0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njkw
MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5yZWZyZXNoKToKKwogMjAxMS0wOS0yOCAgVG9tIFNl
cGV6ICA8dHNlcGV6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZlcnQgY2hhbmdlIHdoaWNo
IGJyb2tlIGRpc3BsYXlpbmcgZW5kIHNjcmlwdCB0YWdzIGluIHZpZXctc291cmNlLCBpbnN0ZWFk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVs
LmpzCmluZGV4IGU5ZGVjN2YuLmVmZjAwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC02NzQsNiArNjc0LDggQEAgV2Vi
SW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAv
LyBDcmVhdGUgdGhlIHRpbWVsaW5lIHRyZWUgZWxlbWVudCBhbmQgZ3JhcGguCiAgICAgICAgICAg
ICAgICAgbm9kZSA9IHRoaXMuX2NyZWF0ZVJlc291cmNlR3JpZE5vZGUocmVzb3VyY2UpOwogICAg
ICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFwcGVuZENoaWxkKG5vZGUpOworICAgICAgICAg
ICAgICAgIC8vIE91dCBvZiBzaWdodCwgb3V0IG9mIG1pbmQ6IGNyZWF0ZSBub2RlcyBvZmZzY3Jl
ZW4gdG8gc2F2ZSBvbiByZW5kZXIgdHJlZSB1cGRhdGUgdGltZXMgd2hlbiBydW5uaW5nIHVwZGF0
ZU9mZnNjcmVlblJvd3MoKQorICAgICAgICAgICAgICAgIG5vZGUuZWxlbWVudC5hZGRTdHlsZUNs
YXNzKCJvZmZzY3JlZW4iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5vZGUucmVmcmVz
aFJlc291cmNlKCk7CiAKQEAgLTY5Niw5ICs2OTgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xv
Z1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zdGFsZVJlc291cmNlcyA9IFtdOwog
ICAgICAgICB0aGlzLl9zb3J0SXRlbXMoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlU3VtbWFyeUJh
cigpOwotICAgICAgICB0aGlzLl91cGRhdGVPZmZzY3JlZW5Sb3dzKCk7CiAgICAgICAgIHRoaXMu
X2RhdGFHcmlkLnVwZGF0ZVdpZHRocygpOwotCisgICAgICAgIC8vIEZJWE1FOiBldmFsdWF0ZSBw
ZXJmb3JtYW5jZSBpbXBhY3Qgb2YgbW92aW5nIHRoaXMgYmVmb3JlIGEgY2FsbCB0byBzb3J0SXRl
bXMoKQogICAgICAgICBpZiAod2FzU2Nyb2xsZWRUb0xhc3RSb3cpCiAgICAgICAgICAgICB0aGlz
Ll9kYXRhR3JpZC5zY3JvbGxUb0xhc3RSb3coKTsKICAgICB9LAo=
</data>
<flag name="review"
          id="106165"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="106166"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>