[Webkit-unassigned] [Bug 69996] DFG should have inlining
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Oct 20 15:46:50 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=69996
Filip Pizlo <fpizlo at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #111725|0 |1
is obsolete| |
Attachment #111861| |review?
Flag| |
--- Comment #8 from Filip Pizlo <fpizlo at apple.com> 2011-10-20 15:46:50 PST ---
Created an attachment (id=111861)
--> (https://bugs.webkit.org/attachment.cgi?id=111861&action=review)
more work in progress
This isn't fully tested yet but it has a good chunk of functionality for landing once all bugs are addressed. It's not yet complete though, so more patches will come after this one to flesh out the functionality. Notably, we don't inline constructors (even though we really should) and we don't have a good inlining heuristics story yet.
On the V8 harness, it's an 8.7% speed-up. Here's the performance using my harness:
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"Inlining" at /Volumes/Data/pizlo/septenary/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 Inlining
SunSpider:
3d-cube 7.2294+-0.1743 ? 7.3492+-0.1425 ? might be 1.0166x slower
3d-morph 7.6382+-0.1203 ? 7.6582+-0.1256 ?
3d-raytrace 7.5246+-0.1949 ? 7.6317+-0.1888 ? might be 1.0142x slower
access-binary-trees 1.7486+-0.0494 1.7437+-0.0460
access-fannkuch 6.5008+-0.1280 6.4137+-0.1062 might be 1.0136x faster
access-nbody 3.3089+-0.0763 ! 3.5599+-0.0831 ! definitely 1.0759x slower
access-nsieve 2.6140+-0.0645 ? 2.6633+-0.0950 ? might be 1.0188x slower
bitops-3bit-bits-in-byte 1.7503+-0.0280 ^ 1.2948+-0.0372 ^ definitely 1.3518x faster
bitops-bits-in-byte 2.7918+-0.0953 ^ 2.3645+-0.0767 ^ definitely 1.1807x faster
bitops-bitwise-and 3.4221+-0.1173 3.3934+-0.0957
bitops-nsieve-bits 5.4132+-0.1308 5.3306+-0.0769 might be 1.0155x faster
controlflow-recursive 2.1608+-0.0553 2.1481+-0.0479
crypto-aes 6.7897+-0.1909 ! 7.2303+-0.2243 ! definitely 1.0649x slower
crypto-md5 2.7882+-0.0802 2.7425+-0.0615 might be 1.0167x faster
crypto-sha1 2.5315+-0.0735 2.4292+-0.0628 might be 1.0421x faster
date-format-tofte 10.1474+-0.2384 9.9917+-0.2174 might be 1.0156x faster
date-format-xparb 8.8026+-0.1675 ? 9.2311+-0.3072 ? might be 1.0487x slower
math-cordic 6.5753+-0.2417 6.5217+-0.1291
math-partial-sums 7.6060+-0.1360 ? 7.6328+-0.1490 ?
math-spectral-norm 2.8472+-0.0610 ^ 2.5817+-0.0614 ^ definitely 1.1028x faster
regexp-dna 11.6238+-0.1617 11.4674+-0.1856 might be 1.0136x faster
string-base64 4.4783+-0.1092 4.3667+-0.1042 might be 1.0256x faster
string-fasta 6.3774+-0.1054 6.3234+-0.1221
string-tagcloud 11.4621+-0.1364 11.4097+-0.2304
string-unpack-code 20.2390+-0.2392 20.1693+-0.2645
string-validate-input 5.2160+-0.1046 ? 5.2871+-0.1256 ? might be 1.0136x slower
<arithmetic> * 6.1380+-0.0387 6.1129+-0.0295
<geometric> 5.0496+-0.0307 ^ 4.9542+-0.0300 ^ definitely 1.0192x faster
<harmonic> 4.1716+-0.0276 ^ 3.9812+-0.0323 ^ definitely 1.0478x faster
TipOfTree Inlining
V8:
crypto 73.4235+-0.4433 ! 75.0053+-0.5804 ! definitely 1.0215x slower
deltablue 228.1755+-1.0590 ^ 171.0148+-0.7583 ^ definitely 1.3342x faster
earley-boyer 91.4364+-1.6587 ? 94.3709+-1.4916 ? might be 1.0321x slower
raytrace 58.3178+-0.2884 ! 59.9449+-0.4125 ! definitely 1.0279x slower
regexp 106.6983+-0.6395 106.3563+-0.5184
richards 183.5438+-0.5371 ^ 142.4662+-0.4241 ^ definitely 1.2883x faster
splay 97.2676+-0.5820 ^ 95.9481+-0.6546 ^ definitely 1.0138x faster
<arithmetic> 119.8376+-0.3437 ^ 106.4438+-0.3814 ^ definitely 1.1258x faster
<geometric> * 107.8833+-0.3250 ^ 100.7615+-0.4141 ^ definitely 1.0707x faster
<harmonic> 98.3173+-0.3068 ^ 95.4845+-0.4341 ^ definitely 1.0297x faster
TipOfTree Inlining
Kraken:
ai-astar 506.3080+-8.7997 504.8021+-3.0190
audio-beat-detection 195.2658+-1.2351 194.5032+-1.0999
audio-dft 272.5609+-2.2965 270.2281+-1.5971
audio-fft 126.5316+-1.1957 ? 126.5381+-1.1408 ?
audio-oscillator 255.5309+-2.0254 254.8838+-1.3599
imaging-darkroom 422.1903+-1.7198 ^ 409.7418+-3.5790 ^ definitely 1.0304x faster
imaging-desaturate 222.6997+-0.4788 ? 223.1201+-1.2055 ?
imaging-gaussian-blur 562.7176+-2.0577 ? 563.6714+-1.7784 ?
json-parse-financial 57.2528+-0.3100 ^ 56.3006+-0.2807 ^ definitely 1.0169x faster
json-stringify-tinderbox 68.5532+-0.5595 ! 70.0214+-0.2980 ! definitely 1.0214x slower
stanford-crypto-aes 133.5707+-1.7238 132.0632+-1.7421 might be 1.0114x faster
stanford-crypto-ccm 102.6632+-1.2818 ? 102.7728+-0.8918 ?
stanford-crypto-pbkdf2 196.2656+-1.0252 ? 198.3048+-2.5661 ? might be 1.0104x slower
stanford-crypto-sha256-iterative 71.2168+-0.2476 ! 72.1844+-0.4220 ! definitely 1.0136x slower
<arithmetic> * 228.0948+-0.7858 227.0811+-0.5272
<geometric> 178.9893+-0.5003 178.6557+-0.4535
<harmonic> 140.4928+-0.3341 ? 140.5655+-0.4151 ?
TipOfTree Inlining
All benchmarks:
<arithmetic> 89.1867+-0.2757 ^ 86.8761+-0.1709 ^ definitely 1.0266x faster
<geometric> 23.0604+-0.0983 ^ 22.5749+-0.0838 ^ definitely 1.0215x faster
<harmonic> 7.3397+-0.0477 ^ 7.0112+-0.0556 ^ definitely 1.0469x faster
TipOfTree Inlining
Geomean of preferred means:
<scaled-result> 53.2550+-0.1847 ^ 51.9082+-0.1028 ^ definitely 1.0259x 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