[Webkit-unassigned] [Bug 69690] DFG does not have flow-sensitive intraprocedural control flow analysis
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Oct 7 23:00:21 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=69690
Filip Pizlo <fpizlo at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #110250|0 |1
is obsolete| |
Attachment #110259| |review?
Flag| |
--- Comment #7 from Filip Pizlo <fpizlo at apple.com> 2011-10-07 23:00:21 PST ---
Created an attachment (id=110259)
--> (https://bugs.webkit.org/attachment.cgi?id=110259&action=review)
work in progress - better performance
I did two things:
- Fixed OSR entry. If a variable is dead then the abstract value should be TOP. Internally, the abstract state machine treats dead variables as BOTTOM. That's necessary for making the analysis precise.
- Changed the abstract structure value representation. Previously it was basically Vector<Structure*>. Now it's just Structure*, where sets larger than 1 are turned to TOP. This works great, since most structure sets only contain one element anyway.
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"CFA" at /Volumes/Data/pizlo/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 CFA
SunSpider:
3d-cube 7.3400+-0.2059 7.2108+-0.1398 might be 1.0179x faster
3d-morph 7.5851+-0.1400 ? 7.6501+-0.1387 ?
3d-raytrace 7.5752+-0.1830 7.5150+-0.1734
access-binary-trees 1.7129+-0.0337 ? 1.7169+-0.0476 ?
access-fannkuch 6.2979+-0.0958 ? 6.5286+-0.1364 ? might be 1.0366x slower
access-nbody 3.4297+-0.0839 ? 3.5317+-0.0830 ? might be 1.0297x slower
access-nsieve 2.5318+-0.0516 ? 2.6022+-0.0786 ? might be 1.0278x slower
bitops-3bit-bits-in-byte 1.6817+-0.0191 ! 1.7452+-0.0250 ! definitely 1.0378x slower
bitops-bits-in-byte 2.7081+-0.0537 ! 2.9258+-0.1245 ! definitely 1.0804x slower
bitops-bitwise-and 3.4372+-0.2532 3.3606+-0.0894 might be 1.0228x faster
bitops-nsieve-bits 5.4391+-0.0644 5.3109+-0.1139 might be 1.0241x faster
controlflow-recursive 2.0508+-0.0375 2.0316+-0.0499
crypto-aes 6.5082+-0.1513 ? 6.7630+-0.1750 ? might be 1.0392x slower
crypto-md5 2.7830+-0.0851 ? 2.8322+-0.0706 ? might be 1.0177x slower
crypto-sha1 2.4498+-0.0714 ? 2.5556+-0.0867 ? might be 1.0432x slower
date-format-tofte 9.8098+-0.2208 ? 9.9895+-0.1587 ? might be 1.0183x slower
date-format-xparb 9.4492+-0.1745 ! 9.8804+-0.2001 ! definitely 1.0456x slower
math-cordic 6.3737+-0.1416 6.3125+-0.0656
math-partial-sums 7.5554+-0.1169 7.5150+-0.1276
math-spectral-norm 2.7905+-0.0655 ? 2.8601+-0.0784 ? might be 1.0250x slower
regexp-dna 10.6186+-0.1482 10.5608+-0.1658
string-base64 5.1063+-0.0828 ? 5.1827+-0.0692 ? might be 1.0150x slower
string-fasta 6.3348+-0.1140 ? 6.4154+-0.1134 ? might be 1.0127x slower
string-tagcloud 11.1755+-0.2087 ? 11.2236+-0.2715 ?
string-unpack-code 21.0133+-0.2257 ! 21.6342+-0.2337 ! definitely 1.0295x slower
string-validate-input 6.2811+-0.1612 6.2791+-0.1612
<arithmetic> * 6.1553+-0.0194 ! 6.2359+-0.0193 ! definitely 1.0131x slower
<geometric> 5.0469+-0.0176 ! 5.1180+-0.0158 ! definitely 1.0141x slower
<harmonic> 4.1371+-0.0257 ! 4.2074+-0.0236 ! definitely 1.0170x slower
TipOfTree CFA
V8:
crypto 71.6115+-0.3106 ! 72.6151+-0.5762 ! definitely 1.0140x slower
deltablue 227.0336+-3.5653 223.0970+-2.1287 might be 1.0176x faster
earley-boyer 90.4309+-0.3425 ? 90.9446+-0.2832 ?
raytrace 57.5184+-0.4610 57.4722+-0.2783
regexp 102.7896+-0.3338 ? 102.8251+-0.5877 ?
richards 205.1041+-1.1592 ^ 175.0092+-0.6119 ^ definitely 1.1720x faster
splay 95.5634+-0.6248 ? 95.6634+-0.7130 ?
<arithmetic> 121.4359+-0.5050 ^ 116.8038+-0.3613 ^ definitely 1.0397x faster
<geometric> * 107.9023+-0.2225 ^ 105.5267+-0.2425 ^ definitely 1.0225x faster
<harmonic> 97.3732+-0.1490 ^ 96.4890+-0.1988 ^ definitely 1.0092x faster
TipOfTree CFA
Kraken:
ai-astar 493.1064+-3.9254 492.3566+-3.0941
audio-beat-detection 191.3132+-0.6433 ? 191.4514+-0.7850 ?
audio-dft 265.4996+-2.7456 ^ 260.4941+-1.8597 ^ definitely 1.0192x faster
audio-fft 125.3307+-0.5836 ? 126.1825+-1.9849 ?
audio-oscillator 251.3514+-1.9030 249.7558+-2.0144
imaging-darkroom 410.4260+-0.8666 ! 413.6212+-1.1919 ! definitely 1.0078x slower
imaging-desaturate 230.1417+-0.5040 ^ 216.3676+-0.4729 ^ definitely 1.0637x faster
imaging-gaussian-blur 578.7784+-2.2247 ^ 568.6758+-2.3888 ^ definitely 1.0178x faster
json-parse-financial 54.4313+-0.2379 ? 54.5051+-0.2106 ?
json-stringify-tinderbox 69.6600+-0.8972 ^ 68.1390+-0.2398 ^ definitely 1.0223x faster
stanford-crypto-aes 131.3154+-2.2640 130.2981+-1.6271
stanford-crypto-ccm 99.8329+-0.9814 ! 101.7389+-0.8432 ! definitely 1.0191x slower
stanford-crypto-pbkdf2 187.8078+-0.7526 ! 191.5040+-1.2973 ! definitely 1.0197x slower
stanford-crypto-sha256-iterative 69.6199+-0.2190 ? 69.9535+-0.3764 ?
<arithmetic> * 225.6153+-0.5117 ^ 223.9317+-0.4806 ^ definitely 1.0075x faster
<geometric> 176.2934+-0.4303 ^ 175.3365+-0.4004 ^ definitely 1.0055x faster
<harmonic> 137.8627+-0.3810 137.4240+-0.3734
TipOfTree CFA
All benchmarks:
<arithmetic> 88.6958+-0.1882 ^ 87.5490+-0.1577 ^ definitely 1.0131x faster
<geometric> 22.9502+-0.0535 ? 23.0146+-0.0492 ?
<harmonic> 7.2778+-0.0442 ! 7.3970+-0.0406 ! definitely 1.0164x slower
TipOfTree CFA
Geomean of preferred means:
<scaled-result> 53.1147+-0.0841 ^ 52.8190+-0.0781 ^ definitely 1.0056x 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