<?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>131418</bug_id>
          
          <creation_ts>2014-04-08 20:16:07 -0700</creation_ts>
          <short_desc>Optimize NaN sanitization</short_desc>
          <delta_ts>2014-04-08 21:24:23 -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>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>131419</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>juergen</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999036</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-04-08 20:16:07 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999051</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-04-08 20:44:46 -0700</bug_when>
    <thetext>If we eliminated all sanitization we would have a big speed-up:

Benchmark report for AsmBench on dethklok (MacBookPro9,1).

VMs tested:
&quot;Baseline&quot; at /Volumes/Data/pizlo/quartary/OpenSource/Baseline/WebKitBuild/Release/jsc
&quot;NoNaNChecks&quot; at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r166994)

Collected 4 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc()
between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the
jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times
with 95% confidence intervals in milliseconds.

                                 Baseline                NoNaNChecks                                    

bigfib.cpp                  596.5540+-5.2567     ?    598.2952+-18.0237       ?
cray.c                       36.8505+-0.6301           36.5445+-0.3884        
dry.c                       518.7787+-40.2963    ?    519.3938+-38.6616       ?
FloatMM.c                  1120.4211+-26.0505    ^    913.3167+-5.7435        ^ definitely 1.2268x faster
gcc-loops.cpp              1414.9705+-24.0548    ^   1293.9392+-7.2879        ^ definitely 1.0935x faster
n-body.c                   1562.3240+-9.1747     ^   1009.1730+-42.3639       ^ definitely 1.5481x faster
Quicksort.c                  55.3555+-2.1002     ?     56.1843+-3.2402        ? might be 1.0150x slower
stepanov_container.cpp     3866.9738+-34.0559    ^   3594.8812+-36.0217       ^ definitely 1.0757x faster
Towers.c                     45.6852+-3.5218           44.9310+-2.8141          might be 1.0168x faster

&lt;arithmetic&gt;               1024.2126+-7.6832     ^    896.2954+-7.0141        ^ definitely 1.1427x faster
&lt;geometric&gt; *               402.2503+-6.1556     ^    367.6326+-5.9729        ^ definitely 1.0942x faster
&lt;harmonic&gt;                  122.8986+-3.0728          121.3267+-3.6854          might be 1.0130x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999056</commentid>
    <comment_count>2</comment_count>
    <who name="Andrew Trick">atrick</who>
    <bug_when>2014-04-08 21:24:23 -0700</bug_when>
    <thetext>We will also get ~50% on cray. But I think that benchmark is not currently working. I&apos;ll submit a patch for it shortly.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>