<?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>17770</bug_id>
          
          <creation_ts>2008-03-11 09:25:02 -0700</creation_ts>
          <short_desc>JavaScript execution is dramatically slower while Drosera is attached</short_desc>
          <delta_ts>2008-05-17 09:56:09 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>10688</blocked>
    
    <blocked>17778</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfattori</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73325</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-11 09:25:02 -0700</bug_when>
    <thetext>JavaScript execution is dramatically slower while Drosera is attached.

It&apos;s likely that much of this slowness is due to WebKit making a cross-process call to Drosera for every line of JavaScript executed, even if Drosera has no breakpoints set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73327</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-11 09:25:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/5792378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73550</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-12 23:27:37 -0700</bug_when>
    <thetext>One possible way we could solve this would be for WebKit to be aware of Drosera&apos;s breakpoints and only make cross-process calls when a breakpoint is hit or Drosera requests that we step.

Another possible way to solve this would be to move debugging to be in-process (as covered by bug 17134).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73682</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-13 22:39:54 -0700</bug_when>
    <thetext>*** Bug 17554 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77948</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-04-17 10:52:33 -0700</bug_when>
    <thetext>While a lot of the slowness surely comes from the cross-process calls, some of it definitely comes from WebCore/JSC&apos;s debugger infrastructure.

Adding a single no-op JavaScriptDebugListener to WebCore&apos;s JavaScriptDebugServer caused SunSpider to be 2.42x as slow. Here are the actual results:

Without a JavaScriptDebugListener:

http://webkit.decenturl.com/sunspider-without-javascriptdebuglis

With a JavaScriptDebugListener:

http://webkit.decenturl.com/sunspider-with-a-javascriptdebuglist</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77952</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-04-17 11:19:35 -0700</bug_when>
    <thetext>I just tried this with Firefox 2 and Firebug. The performance was not significantly different when Firebug was disabled vs. enabled.

Firebug disabled:

http://webkit.decenturl.com/sunspider-without-firebug

Firebug enabled:

http://webkit.decenturl.com/sunspider-with-firebug
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78131</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-04-18 10:50:31 -0700</bug_when>
    <thetext>Strangely, changing JavaScriptDebugListener to use const KJS::UString&amp; instead of const String&amp; did not improve performance on SunSpider at all, even though it should reduce the number of strings allocated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80651</commentid>
    <comment_count>7</comment_count>
    <who name="Kevin McCullough">kmccullough</who>
    <bug_when>2008-05-16 14:04:55 -0700</bug_when>
    <thetext>Drosera is going away and JS debugging is now happening in the WebInspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80822</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-17 09:56:09 -0700</bug_when>
    <thetext>Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>