[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 14:39:33 PDT 2011


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





--- Comment #3 from Filip Pizlo <fpizlo at apple.com>  2011-09-08 14:39:33 PST ---
Looks like this path will work best if it is turned off for static speculation, but turned on for dynamic speculation.  Here's the performance with it turned off.  Note the noise (38% speed-up on one SunSpider benchmark that gets totally lost in the average).  I'm convinced that it is in fact noise and not real.



Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"PartialSpecFailOff" 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.

                                            TipOfTree           PartialSpecFailOff                               
SunSpider:
   3d-cube                                7.7127+-0.1331    ?     7.8798+-0.2091       ? might be 1.0217x slower
   3d-morph                               7.5139+-0.1326    ?     7.5244+-0.2035       ?
   3d-raytrace                            7.3208+-0.1767    ?     7.5204+-0.2760       ? might be 1.0273x slower
   access-binary-trees                    2.3967+-0.0970          2.2549+-0.0498         might be 1.0629x faster
   access-fannkuch                       11.9275+-0.2377         11.8759+-0.1481       
   access-nbody                           4.2453+-0.0602    ?     4.2470+-0.0751       ?
   access-nsieve                          2.5830+-0.0807          2.4702+-0.0412         might be 1.0457x faster
   bitops-3bit-bits-in-byte               1.7405+-0.0422    ?     1.7923+-0.0560       ? might be 1.0298x slower
   bitops-bits-in-byte                    4.5369+-0.1687    ^     3.2834+-0.0690       ^ definitely 1.3817x faster
   bitops-bitwise-and                     3.6754+-0.0649          3.6354+-0.0616         might be 1.0110x faster
   bitops-nsieve-bits                     5.3928+-0.1547    ?     5.5196+-0.1109       ? might be 1.0235x slower
   controlflow-recursive                  2.0130+-0.0451    ?     2.0507+-0.0368       ? might be 1.0187x slower
   crypto-aes                             6.6134+-0.2576          6.6038+-0.1874       
   crypto-md5                             2.8496+-0.1166    ?     2.9049+-0.1234       ? might be 1.0194x slower
   crypto-sha1                            2.2437+-0.0694    ?     2.3244+-0.0596       ? might be 1.0360x slower
   date-format-tofte                     10.1987+-0.2700    ?    10.2935+-0.2483       ?
   date-format-xparb                      9.0265+-0.2755          8.9221+-0.3400         might be 1.0117x faster
   math-cordic                            6.2957+-0.0972    ?     6.4081+-0.1749       ? might be 1.0179x slower
   math-partial-sums                      7.7582+-0.1480    ?     7.8717+-0.1562       ? might be 1.0146x slower
   math-spectral-norm                     2.5476+-0.0818    ?     2.5812+-0.1030       ? might be 1.0132x slower
   regexp-dna                            10.6437+-0.2123         10.3263+-0.1333         might be 1.0307x faster
   string-base64                          6.1379+-0.2106          6.0649+-0.1760         might be 1.0120x faster
   string-fasta                           7.4621+-0.1615    ?     7.5237+-0.1623       ?
   string-tagcloud                       12.0855+-0.2801    ?    12.3640+-0.3423       ? might be 1.0230x slower
   string-unpack-code                    19.0547+-0.2942    ?    19.1257+-0.4011       ?
   string-validate-input                  7.2033+-0.2369          7.0648+-0.2110         might be 1.0196x faster

   <arithmetic>                           6.5838+-0.0390          6.5551+-0.0416       
   <geometric>                            5.4789+-0.0256          5.4260+-0.0289       
   <harmonic>                             4.4947+-0.0220          4.4438+-0.0304         might be 1.0114x faster

                                            TipOfTree           PartialSpecFailOff                               
V8:
   crypto                                90.9512+-0.7022    ^    86.9512+-0.4698       ^ definitely 1.0460x faster
   deltablue                            264.5347+-0.9710    ?   267.4549+-2.0893       ? might be 1.0110x slower
   earley-boyer                          93.9388+-0.3832         93.3699+-0.2572       
   raytrace                              78.7379+-0.7401         77.6151+-0.4294         might be 1.0145x faster
   regexp                               110.2534+-0.8725    ?   111.8147+-1.1356       ? might be 1.0142x slower
   richards                             237.0448+-1.9937    ?   240.2445+-1.7043       ? might be 1.0135x slower
   splay                                102.7832+-0.4053    ?   103.1920+-1.1310       ?

   <arithmetic>                         139.7491+-0.4324    ?   140.0917+-0.4421       ?
   <geometric>                          125.0396+-0.3620        124.6279+-0.3570       
   <harmonic>                           114.4838+-0.3624    ^   113.5691+-0.3540       ^ definitely 1.0081x faster

                                            TipOfTree           PartialSpecFailOff                               
Kraken:
   ai-astar                            1111.5817+-10.0950      1100.4044+-7.0387         might be 1.0102x faster
   audio-beat-detection                 484.9305+-3.8803        479.5919+-2.9518         might be 1.0111x faster
   audio-dft                            423.4744+-4.5484        420.9447+-2.8184       
   audio-fft                            377.1075+-2.9333        374.8421+-2.5561       
   audio-oscillator                     381.5580+-2.0830        380.4500+-2.6626       
   imaging-darkroom                     540.4795+-3.7662    ^   531.7605+-2.5730       ^ definitely 1.0164x faster
   imaging-desaturate                   616.7875+-7.1272    ?   617.7079+-7.1100       ?
   imaging-gaussian-blur               1732.4610+-3.6755    ?  1739.1962+-16.1256      ?
   json-parse-financial                  49.6394+-0.4810         49.6081+-0.2538       
   json-stringify-tinderbox              68.6684+-0.7766    ?    68.9953+-0.7159       ?
   stanford-crypto-aes                  146.0314+-3.3339        144.2934+-1.3057         might be 1.0120x faster
   stanford-crypto-ccm                  112.5396+-0.6479    ?   113.2355+-0.9298       ?
   stanford-crypto-pbkdf2               339.8969+-3.1305        339.6628+-2.0729       
   stanford-crypto-sha256-iterative     132.6277+-1.3897        132.0876+-1.3444       

   <arithmetic>                         465.5560+-0.7448        463.7700+-1.9575       
   <geometric>                          299.9983+-0.5828        298.8703+-0.7334       
   <harmonic>                           185.2166+-0.6885        184.9963+-0.6590       

                                            TipOfTree           PartialSpecFailOff                               
All benchmarks:
   <arithmetic>                         163.1321+-0.2674        162.6352+-0.5690       
   <geometric>                           28.7626+-0.0819    ^    28.5624+-0.0863       ^ definitely 1.0070x faster
   <harmonic>                             7.9373+-0.0381          7.8488+-0.0527         might be 1.0113x faster

-- 
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