[Webkit-unassigned] [Bug 162316] The write barrier should be down with TSO

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 22 21:25:41 PDT 2016


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

--- Comment #3 from Filip Pizlo <fpizlo at apple.com> ---
Here's what happens if we put the ortop store-load fence before every store barrier.

Biggest slow down on any benchmark: 2x slower on richards
Biggest suite slow down: 12% slower on Octane

It's awfully tempting to say that the barrier is ortop behind a branch.


Benchmark report for SunSpider, LongSpider, Octane, Kraken, and AsmBench on murderface (MacBookPro11,5).

VMs tested:
"TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r206274)
"Things" at /Volumes/Data/tertiary/OpenSource/WebKitBuild/Release/jsc (r206274)

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

                                                TipOfTree                   Things                                      
SunSpider:
   3d-cube                                    4.8347+-0.2649     ?      4.8454+-0.2665        ?
   3d-morph                                   5.0168+-0.4898            4.8785+-0.3135          might be 1.0283x faster
   3d-raytrace                                4.8442+-0.1807     ?      4.9115+-0.2780        ? might be 1.0139x slower
   access-binary-trees                        1.9121+-0.1006     ?      2.0883+-0.0962        ? might be 1.0922x slower
   access-fannkuch                            4.8294+-0.2304            4.7858+-0.0596        
   access-nbody                               2.4893+-0.2680     !      3.4361+-0.0847        ! definitely 1.3804x slower
   access-nsieve                              3.3854+-0.3455            3.1194+-0.1590          might be 1.0853x faster
   bitops-3bit-bits-in-byte                   1.0935+-0.0915     ?      1.1083+-0.0736        ? might be 1.0135x slower
   bitops-bits-in-byte                        2.6328+-0.0724     ?      2.8829+-0.5376        ? might be 1.0950x slower
   bitops-bitwise-and                         2.0046+-0.1978            1.9007+-0.0246          might be 1.0546x faster
   bitops-nsieve-bits                         3.0671+-0.1410     ?      3.1798+-0.3074        ? might be 1.0367x slower
   controlflow-recursive                      2.2067+-0.0854     ?      2.4131+-0.2221        ? might be 1.0935x slower
   crypto-aes                                 4.2751+-0.2712            4.1564+-0.1486          might be 1.0286x faster
   crypto-md5                                 2.5822+-0.0850     ?      2.5839+-0.0848        ?
   crypto-sha1                                2.7965+-0.1831            2.7643+-0.2527          might be 1.0116x faster
   date-format-tofte                          6.7047+-0.4060     !      7.9941+-0.1243        ! definitely 1.1923x slower
   date-format-xparb                          4.5741+-0.2277            4.5505+-0.1035        
   math-cordic                                2.8048+-0.3212            2.7110+-0.0609          might be 1.0346x faster
   math-partial-sums                          3.9242+-0.3053     ?      4.2121+-0.0486        ? might be 1.0734x slower
   math-spectral-norm                         2.0118+-0.1842            1.9723+-0.0992          might be 1.0200x faster
   regexp-dna                                 6.0520+-0.1355     ?      6.3698+-0.2368        ? might be 1.0525x slower
   string-base64                              4.4180+-0.2117     ?      4.6267+-0.1075        ? might be 1.0472x slower
   string-fasta                               5.2382+-0.0949     !      5.6356+-0.1404        ! definitely 1.0759x slower
   string-tagcloud                            8.0541+-0.3432     ?      8.2793+-0.2468        ? might be 1.0280x slower
   string-unpack-code                        17.7172+-0.5782     ?     18.2439+-0.6110        ? might be 1.0297x slower
   string-validate-input                      4.2480+-0.3982     ?      4.4784+-0.0904        ? might be 1.0542x slower

   <arithmetic>                               4.3737+-0.0502     !      4.5434+-0.0438        ! definitely 1.0388x slower

                                                TipOfTree                   Things                                      
LongSpider:
   3d-cube                                  783.7228+-11.7323    !    855.6619+-10.6588       ! definitely 1.0918x slower
   3d-morph                                 568.6765+-11.3501         567.2830+-9.1173        
   3d-raytrace                              450.9052+-10.1626    ?    455.0590+-10.0853       ?
   access-binary-trees                      785.3363+-6.8210     ?    786.5133+-11.4327       ?
   access-fannkuch                          237.3588+-2.6353     ?    242.5754+-15.0498       ? might be 1.0220x slower
   access-nbody                             503.9350+-7.6098          503.7887+-5.6037        
   access-nsieve                            285.1292+-5.5067     ?    287.2666+-4.9013        ?
   bitops-3bit-bits-in-byte                  33.3164+-2.5575           31.4300+-0.5543          might be 1.0600x faster
   bitops-bits-in-byte                       93.4222+-3.6022     ?     95.9135+-5.4419        ? might be 1.0267x slower
   bitops-nsieve-bits                       379.5902+-7.2816          375.7859+-1.9959          might be 1.0101x faster
   controlflow-recursive                    441.9387+-8.8400          441.6835+-13.3431       
   crypto-aes                               528.3320+-9.1814     ?    531.1236+-7.3378        ?
   crypto-md5                               468.6188+-10.8985         466.1707+-7.9897        
   crypto-sha1                              624.2290+-5.5675     ?    638.6044+-10.4121       ? might be 1.0230x slower
   date-format-tofte                        334.0788+-6.0447     !    384.7257+-6.9758        ! definitely 1.1516x slower
   date-format-xparb                        617.1805+-9.4164     ?    653.0618+-32.5480       ? might be 1.0581x slower
   hash-map                                 139.1575+-3.9678     !    152.4310+-4.8154        ! definitely 1.0954x slower
   math-cordic                              452.1195+-9.9727     ?    455.3107+-7.3447        ?
   math-partial-sums                        285.9348+-7.1712     !    301.3704+-5.6017        ! definitely 1.0540x slower
   math-spectral-norm                       521.5851+-9.2105     ?    525.1613+-7.4278        ?
   string-base64                            442.5808+-3.0804          441.8303+-8.4247        
   string-fasta                             339.3115+-5.9100     !    369.7477+-11.3455       ! definitely 1.0897x slower
   string-tagcloud                          162.7723+-1.7795     !    170.8195+-4.0981        ! definitely 1.0494x slower

   <geometric>                              342.9567+-2.4812     !    351.8905+-1.5834        ! definitely 1.0260x slower

                                                TipOfTree                   Things                                      
Octane:
   encrypt                                   0.15084+-0.00551          0.14965+-0.00353       
   decrypt                                   2.72931+-0.03442          2.72685+-0.03630       
   deltablue                        x2       0.12096+-0.00304    !     0.15105+-0.00243       ! definitely 1.2488x slower
   earley                                    0.24457+-0.00166    !     0.26245+-0.00300       ! definitely 1.0731x slower
   boyer                                     4.37421+-0.11332    ?     4.45275+-0.12217       ? might be 1.0180x slower
   navier-stokes                    x2       4.65331+-0.03200    ?     4.68742+-0.08098       ?
   raytrace                         x2       0.67654+-0.00346    !     0.77305+-0.01442       ! definitely 1.1426x slower
   richards                         x2       0.07809+-0.00113    !     0.15307+-0.00258       ! definitely 1.9601x slower
   splay                            x2       0.31960+-0.00431    !     0.43687+-0.00644       ! definitely 1.3669x slower
   regexp                           x2      16.43119+-0.62910    !    18.14595+-0.55471       ! definitely 1.1044x slower
   pdfjs                            x2      39.15434+-0.63255    ?    39.90852+-0.85460       ? might be 1.0193x slower
   mandreel                         x2      40.01166+-0.75115    ?    40.23776+-0.38598       ?
   gbemu                            x2      29.55179+-0.39599    !    31.55389+-0.20267       ! definitely 1.0677x slower
   closure                                   0.47107+-0.00548    ?     0.47698+-0.00745       ? might be 1.0125x slower
   jquery                                    6.45894+-0.07439          6.42631+-0.05643       
   box2d                            x2       8.81335+-0.08313    !     9.69109+-0.06784       ! definitely 1.0996x slower
   zlib                             x2     343.59926+-3.70208        336.96984+-8.18467         might be 1.0197x faster
   typescript                       x2     610.15072+-15.15347   ?   627.17623+-9.47707       ? might be 1.0279x slower

   <geometric>                               4.77782+-0.01863    !     5.34574+-0.02589       ! definitely 1.1189x slower

                                                TipOfTree                   Things                                      
Kraken:
   ai-astar                                   90.767+-3.093      ?      90.862+-1.908         ?
   audio-beat-detection                       35.682+-0.328      ?      37.017+-1.870         ? might be 1.0374x slower
   audio-dft                                  95.836+-3.737             95.506+-3.921         
   audio-fft                                  30.314+-4.939             27.592+-0.170           might be 1.0986x faster
   audio-oscillator                           45.864+-2.911             44.036+-1.469           might be 1.0415x faster
   imaging-darkroom                           57.539+-1.431             57.318+-0.417         
   imaging-desaturate                         41.086+-0.372             40.929+-0.503         
   imaging-gaussian-blur                      57.484+-1.655             56.516+-2.836           might be 1.0171x faster
   json-parse-financial                       31.456+-0.733      ?      32.994+-1.105         ? might be 1.0489x slower
   json-stringify-tinderbox                   20.824+-0.872      ?      21.490+-1.169         ? might be 1.0320x slower
   stanford-crypto-aes                        34.984+-0.470      ?      36.128+-0.847         ? might be 1.0327x slower
   stanford-crypto-ccm                        35.019+-2.087             33.424+-2.722           might be 1.0477x faster
   stanford-crypto-pbkdf2                     89.472+-2.999      ?      90.649+-1.593         ? might be 1.0132x slower
   stanford-crypto-sha256-iterative           29.205+-0.226      ?      30.100+-1.818         ? might be 1.0306x slower

   <arithmetic>                               49.681+-0.293             49.612+-0.273           might be 1.0014x faster

                                                TipOfTree                   Things                                      
AsmBench:
   bigfib.cpp                               412.8313+-2.9297     ?    418.5986+-12.6721       ? might be 1.0140x slower
   cray.c                                   362.4455+-6.5672     ?    363.2441+-5.6846        ?
   dry.c                                    411.2849+-14.0614         400.3989+-12.6636         might be 1.0272x faster
   FloatMM.c                                701.0242+-32.9905         680.5246+-11.4577         might be 1.0301x faster
   gcc-loops.cpp                           3417.7974+-21.9542    ?   3420.8556+-46.6906       ?
   n-body.c                                 763.4065+-10.1276         760.3860+-12.8855       
   Quicksort.c                              376.6666+-6.1638          374.2165+-4.0621        
   stepanov_container.cpp                  3192.4034+-38.6218    ?   3253.7346+-132.5702      ? might be 1.0192x slower
   Towers.c                                 252.7060+-3.2718     ?    255.1564+-2.6056        ?

   <geometric>                              687.1447+-5.3013          685.5014+-3.4682          might be 1.0024x faster

                                                TipOfTree                   Things                                      
Geomean of preferred means:
   <scaled-result>                           47.6106+-0.1527     !     49.2801+-0.0711        ! definitely 1.0351x slower

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160923/6522c4d7/attachment-0001.html>


More information about the webkit-unassigned mailing list