[Webkit-unassigned] [Bug 67798] DFG JIT completely undoes speculative compilation even in the case of a partial static speculation failure

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 8 15:00:15 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=67798





--- Comment #4 from Filip Pizlo <fpizlo at apple.com>  2011-09-08 15:00:16 PST ---
Doing this with dynamic optimization enabled appears to reveal a case in v8-crypto where we're speculating incorrectly.  My opinion is that we should commit this anyway, since (1) dynamic optimization is turned off by default and (2) we should make v8-crypto speculate correctly all the time instead of relying on the non-speculative path to save us.



Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTreeDyn" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"PartialSpecFail" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. 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.

                                           TipOfTreeDyn          PartialSpecFail                                 
SunSpider:
   3d-cube                               12.4085+-0.3516         12.2519+-0.2947         might be 1.0128x faster
   3d-morph                               7.8265+-0.1363    ?     7.9644+-0.1721       ? might be 1.0176x slower
   3d-raytrace                            8.1677+-0.2721    ?     8.5670+-0.1768       ? might be 1.0489x slower
   access-binary-trees                    2.4106+-0.0321    ?     2.4442+-0.0792       ? might be 1.0139x slower
   access-fannkuch                       12.7431+-0.2813    ?    12.7705+-0.1946       ?
   access-nbody                           4.2390+-0.0476    !     4.4125+-0.1213       ! definitely 1.0409x slower
   access-nsieve                          2.7531+-0.0640          2.7184+-0.0627         might be 1.0127x faster
   bitops-3bit-bits-in-byte               1.8846+-0.0544    ?     2.0364+-0.1052       ? might be 1.0805x slower
   bitops-bits-in-byte                    5.2725+-0.2678          5.1915+-0.4005         might be 1.0156x faster
   bitops-bitwise-and                     4.1097+-0.1246          3.9832+-0.1009         might be 1.0318x faster
   bitops-nsieve-bits                     5.8795+-0.1013    ?     6.0344+-0.2063       ? might be 1.0263x slower
   controlflow-recursive                  2.0543+-0.0607          2.0061+-0.0400         might be 1.0240x faster
   crypto-aes                             7.9677+-0.2851          7.9440+-0.3411       
   crypto-md5                             2.9693+-0.0756    ?     3.1021+-0.1297       ? might be 1.0447x slower
   crypto-sha1                            2.4788+-0.0803    ?     2.4853+-0.0725       ?
   date-format-tofte                     10.6320+-0.2625    ?    10.6375+-0.2228       ?
   date-format-xparb                      9.2417+-0.2094    ?     9.4102+-0.2722       ? might be 1.0182x slower
   math-cordic                            6.7555+-0.1049    ?     6.7855+-0.0993       ?
   math-partial-sums                      7.7144+-0.1615          7.5565+-0.1082         might be 1.0209x faster
   math-spectral-norm                     2.6691+-0.0684          2.6070+-0.0618         might be 1.0238x faster
   regexp-dna                            10.4582+-0.2742    ?    10.4726+-0.2079       ?
   string-base64                          6.3856+-0.1344    ?     6.4854+-0.1409       ? might be 1.0156x slower
   string-fasta                           7.2776+-0.1751    ?     7.4598+-0.2319       ? might be 1.0250x slower
   string-tagcloud                       12.5675+-0.5429    ?    12.6614+-0.3102       ?
   string-unpack-code                    19.5392+-0.6266         19.5243+-0.5633       
   string-validate-input                  6.8255+-0.1597    ?     7.2243+-0.2755       ? might be 1.0584x slower

   <arithmetic>                           7.0474+-0.0485    ?     7.1052+-0.0365       ?
   <geometric>                            5.8534+-0.0323    ?     5.9095+-0.0296       ?
   <harmonic>                             4.7800+-0.0298    ?     4.8287+-0.0358       ? might be 1.0102x slower

                                           TipOfTreeDyn          PartialSpecFail                                 
V8:
   crypto                                82.4555+-0.3792    !    87.4537+-0.6151       ! definitely 1.0606x slower
   deltablue                            263.4640+-2.7763        261.5359+-2.0604       
   earley-boyer                         101.3340+-0.3097        100.8797+-0.3992       
   raytrace                              82.1846+-0.3536         81.5247+-0.8216       
   regexp                               111.7920+-0.7306        110.9027+-0.5673       
   richards                             218.6683+-0.6105    ?   219.1288+-1.2508       ?
   splay                                106.2067+-0.5304        105.4638+-0.5139       

   <arithmetic>                         138.0150+-0.5447    ?   138.1270+-0.3684       ?
   <geometric>                          124.7283+-0.4012    ?   125.1911+-0.2985       ?
   <harmonic>                           114.9504+-0.3416    !   115.6934+-0.3325       ! definitely 1.0065x slower

                                           TipOfTreeDyn          PartialSpecFail                                 
Kraken:
   ai-astar                            1138.4605+-9.4245    ?  1143.6393+-8.0190       ?
   audio-beat-detection                 514.7744+-2.1217    ?   514.9893+-2.7075       ?
   audio-dft                            470.3802+-3.7706    ?   477.4101+-6.7100       ? might be 1.0149x slower
   audio-fft                            395.4076+-4.8793    ?   401.4950+-2.7998       ? might be 1.0154x slower
   audio-oscillator                     351.5889+-2.0485        348.8424+-1.1604       
   imaging-darkroom                     539.0097+-7.2727        533.6361+-1.2733         might be 1.0101x faster
   imaging-desaturate                   596.2434+-1.6842    ?   597.0473+-2.0741       ?
   imaging-gaussian-blur               2301.8736+-20.0258   ?  2303.2791+-14.8414      ?
   json-parse-financial                  50.6473+-0.3132         50.1082+-0.3485         might be 1.0108x faster
   json-stringify-tinderbox              69.7147+-0.5663    ?    70.0110+-0.6125       ?
   stanford-crypto-aes                  162.4962+-0.6509    !   166.2443+-2.4364       ! definitely 1.0231x slower
   stanford-crypto-ccm                  123.4177+-0.5429    ?   124.6134+-1.4519       ?
   stanford-crypto-pbkdf2               364.9508+-2.1027    ^   358.8682+-2.5451       ^ definitely 1.0169x faster
   stanford-crypto-sha256-iterative     139.6700+-0.4417        138.4910+-1.0300       

   <arithmetic>                         515.6168+-2.0708    ?   516.3339+-1.2586       ?
   <geometric>                          316.7307+-0.7793    ?   317.1747+-0.6087       ?
   <harmonic>                           193.0029+-0.5715        192.9705+-0.6043       

                                           TipOfTreeDyn          PartialSpecFail                                 
All benchmarks:
   <arithmetic>                         178.0419+-0.5977    ?   178.3043+-0.3970       ?
   <geometric>                           30.3089+-0.0897    !    30.4989+-0.0852       ! definitely 1.0063x slower
   <harmonic>                             8.4339+-0.0515    ?     8.5184+-0.0617       ? might be 1.0100x slower

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list