<?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>44555</bug_id>
          
          <creation_ts>2010-08-24 14:53:34 -0700</creation_ts>
          <short_desc>Single Entry RegExp Cache Hurts Performance</short_desc>
          <delta_ts>2010-08-25 11:56:03 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>268827</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-08-24 14:53:34 -0700</bug_when>
    <thetext>The single entry regular expression cache designed to help Dromaeo regexp performance hurts current SunSpider and Dromaeo performance.  The Dromaeo benchmark has been changed with some randomization to the regexp test so that a single entry cache provides no benefit.  In fact the cache hurts the current regexp test by about .85%.

The RE cache hurts the Dromaeo javascript tests by 1.4% and SunSpider by .9%.  There was no perceived impact on v8 (version 4) tests.

It is proposed that the single entry RE cache be removed.

&lt;rdar://problem/8197541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268862</commentid>
    <comment_count>1</comment_count>
      <attachid>65336</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-08-24 15:37:19 -0700</bug_when>
    <thetext>Created attachment 65336
Patch to remove single entry regexp cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269373</commentid>
    <comment_count>2</comment_count>
      <attachid>65336</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-08-25 11:17:35 -0700</bug_when>
    <thetext>Comment on attachment 65336
Patch to remove single entry regexp cache.

Moving into the commit queue since Michael doesn&apos;t have commit access yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269417</commentid>
    <comment_count>3</comment_count>
      <attachid>65336</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-25 11:55:58 -0700</bug_when>
    <thetext>Comment on attachment 65336
Patch to remove single entry regexp cache.

Clearing flags on attachment: 65336

Committed r66031: &lt;http://trac.webkit.org/changeset/66031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269418</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-25 11:56:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65336</attachid>
            <date>2010-08-24 15:37:19 -0700</date>
            <delta_ts>2010-08-25 11:55:58 -0700</delta_ts>
            <desc>Patch to remove single entry regexp cache.</desc>
            <filename>remove-re-cache.patch</filename>
            <type>text/plain</type>
            <size>3258</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY1OTQxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMjQgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBzaW5nbGUgZW50cnkgcmVndWxhciBleHBy
ZXNzaW9uIGNhY2hlIGludHJvZHVjZWQgYXMgcGFydCBvZgorICAgICAgICB0aGUgZml4IGZvciBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEyMzguCisgICAgICAgIFRo
ZSBwZXJmb3JtYW5jZSBwcm9ibGVtIGluIERyb21hZW8gdGhhdCBpbml0aWF0ZWQgdGhhdCBidWcg
aXMgbm8gCisgICAgICAgIGxvbmdlciBwcmVzZW50LiBEcm9tYWVvIGhhcyBiZWVuIG1vZGlmaWVk
IHNvIHRoYXQgdGhlIHJlZ3VsYXIKKyAgICAgICAgZXhwcmVzc2lvbiB0ZXN0cyBhcmUgc29tZXdo
YXQgcmFuZG9tIGFuZCBkb24ndCBiZW5lZml0IGZyb20gYQorICAgICAgICBzaW5nbGUgZW50cnkg
Y2FjaGUuCisKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z0V4cDo6UmVnRXhwKToKKyAgICAgICAgKEpTQzo6UmVnRXhwOjptYXRjaCk6CisgICAgICAgICog
cnVudGltZS9SZWdFeHAuaDoKKwogMjAxMC0wOC0yNCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHAuY3BwCShyZXZpc2lvbiA2NTk0MCkKKysrIEphdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNiBAQCBpbmxpbmUg
UmVnRXhwOjpSZWdFeHAoSlNHbG9iYWxEYXRhKiBnbG9iCiAgICAgLCBtX2ZsYWdCaXRzKDApCiAg
ICAgLCBtX2NvbnN0cnVjdGlvbkVycm9yKDApCiAgICAgLCBtX251bVN1YnBhdHRlcm5zKDApCi0g
ICAgLCBtX2xhc3RNYXRjaFN0YXJ0KC0xKQogewogICAgIC8vIE5PVEU6IFRoZSBnbG9iYWwgZmxh
ZyBpcyBoYW5kbGVkIG9uIGEgY2FzZS1ieS1jYXNlIGJhc2lzIGJ5IGZ1bmN0aW9ucyBsaWtlCiAg
ICAgLy8gU3RyaW5nOjptYXRjaCBhbmQgUmVnRXhwT2JqZWN0OjptYXRjaC4KQEAgLTk2LDI0ICs5
NSw4IEBAIGludCBSZWdFeHA6Om1hdGNoKGNvbnN0IFVTdHJpbmcmIHMsIGludCAKICAgICBpZiAo
b3ZlY3RvcikKICAgICAgICAgb3ZlY3Rvci0+cmVzaXplKDApOwogCi0gICAgaWYgKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihzdGFydE9mZnNldCkgPiBzLmxlbmd0aCgpIHx8IHMuaXNOdWxsKCkpIHsK
LSAgICAgICAgbV9sYXN0TWF0Y2hTdHJpbmcgPSBVU3RyaW5nKCk7Ci0gICAgICAgIG1fbGFzdE1h
dGNoU3RhcnQgPSAtMTsKLSAgICAgICAgbV9sYXN0T1ZlY3Rvci5zaHJpbmsoMCk7CisgICAgaWYg
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGFydE9mZnNldCkgPiBzLmxlbmd0aCgpIHx8IHMuaXNO
dWxsKCkpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgCi0gICAgLy8gUGVyZm9ybSBj
aGVjayB0byBzZWUgaWYgdGhpcyBtYXRjaCBjYWxsIGlzIHRoZSBzYW1lIGFzIHRoZSBsYXN0IG1h
dGNoIGludm9jYXRpb24KLSAgICAvLyBhbmQgaWYgaXQgaXMgcmV0dXJuIHRoZSBwcmlvciByZXN1
bHQuCi0gICAgaWYgKChzdGFydE9mZnNldCA9PSBtX2xhc3RNYXRjaFN0YXJ0KSAmJiAocy5pbXBs
KCkgPT0gbV9sYXN0TWF0Y2hTdHJpbmcuaW1wbCgpKSkgewotICAgICAgICBpZiAob3ZlY3RvcikK
LSAgICAgICAgICAgICpvdmVjdG9yID0gbV9sYXN0T1ZlY3RvcjsKLSAgICAgICAgCi0gICAgICAg
IGlmIChtX2xhc3RPVmVjdG9yLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLQot
ICAgICAgICByZXR1cm4gbV9sYXN0T1ZlY3Rvci5hdCgwKTsKLSAgICB9CiAKICNpZiBFTkFCTEUo
WUFSUl9KSVQpCiAgICAgaWYgKCEhbV9yZWdFeHBKSVRDb2RlKSB7CkBAIC0xNTEsMjEgKzEzNCw5
IEBAIGludCBSZWdFeHA6Om1hdGNoKGNvbnN0IFVTdHJpbmcmIHMsIGludCAKICAgICAgICAgICAg
ICAgICBvdmVjdG9yLT5jbGVhcigpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBtX2xh
c3RNYXRjaFN0cmluZyA9IHM7Ci0gICAgICAgIG1fbGFzdE1hdGNoU3RhcnQgPSBzdGFydE9mZnNl
dDsKLQotICAgICAgICBpZiAob3ZlY3RvcikKLSAgICAgICAgICAgIG1fbGFzdE9WZWN0b3IgPSAq
b3ZlY3RvcjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9sYXN0T1ZlY3RvciA9IG5vblJl
dHVybmVkT3ZlY3RvcjsKLQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIG1f
bGFzdE1hdGNoU3RyaW5nID0gVVN0cmluZygpOwotICAgIG1fbGFzdE1hdGNoU3RhcnQgPSAtMTsK
LSAgICBtX2xhc3RPVmVjdG9yLnNocmluaygwKTsKLQogICAgIHJldHVybiAtMTsKIH0KIApJbmRl
eDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oCShyZXZpc2lvbiA2NTk0MCkKKysrIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDkgKzY1LDYgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBtX2ZsYWdCaXRzOwogICAgICAgICBjb25zdCBjaGFy
KiBtX2NvbnN0cnVjdGlvbkVycm9yOwogICAgICAgICB1bnNpZ25lZCBtX251bVN1YnBhdHRlcm5z
OwotICAgICAgICBVU3RyaW5nIG1fbGFzdE1hdGNoU3RyaW5nOwotICAgICAgICBpbnQgbV9sYXN0
TWF0Y2hTdGFydDsKLSAgICAgICAgVmVjdG9yPGludCwgMzI+IG1fbGFzdE9WZWN0b3I7CiAKICNp
ZiBFTkFCTEUoWUFSUl9KSVQpCiAgICAgICAgIFlhcnI6OlJlZ2V4Q29kZUJsb2NrIG1fcmVnRXhw
SklUQ29kZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>