[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