WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
73515
32 bit DFG should handle logicalNot slow case instead of simply bailing out
https://bugs.webkit.org/show_bug.cgi?id=73515
Summary
32 bit DFG should handle logicalNot slow case instead of simply bailing out
Yuqiang Xian
Reported
2011-11-30 20:29:35 PST
Some cases don't benefit from DFG due to this, e.g. imaging-desaturate in Kraken benchmark. 64 bit DFG handles the slow case so should the 32 bit DFG.
Attachments
the patch
(3.13 KB, patch)
2011-11-30 20:35 PST
,
Yuqiang Xian
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Yuqiang Xian
Comment 1
2011-11-30 20:35:23 PST
Created
attachment 117319
[details]
the patch 11% on Kraken, mostly due to 3X on imaging-desaturate, tested on Linux ia32. VMs tested: "TipOfTree" at /home/yxian/WebKit_orig/WebKitBuild/Release/Source/JavaScriptCore/shell/jsc_efl "LogicalNotFix" at /mnt/supplement/WebKit/WebKitBuild/Release_efl/Source/JavaScriptCore/shell/jsc_efl Collected 12 samples per benchmark/VM, with 4 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 LogicalNotFix SunSpider: 3d-cube 8.1618+-0.0375 8.1486+-0.0308 3d-morph 10.2725+-0.0570 ? 10.2857+-0.0470 ? 3d-raytrace 9.5796+-0.0393 ? 9.5859+-0.0447 ? access-binary-trees 1.8881+-0.0328 1.8811+-0.0320 access-fannkuch 9.5226+-0.0440 ? 9.5402+-0.0391 ? access-nbody 5.3372+-0.0442 ? 5.3480+-0.0443 ? access-nsieve 3.7130+-0.0260 3.7116+-0.0135 bitops-3bit-bits-in-byte 1.1662+-0.0346 1.1603+-0.0305 bitops-bits-in-byte 4.6981+-0.0244 4.6803+-0.0386 bitops-bitwise-and 4.2485+-0.0207 ? 4.2492+-0.0316 ? bitops-nsieve-bits 6.6778+-0.0717 6.6761+-0.0932 controlflow-recursive 2.9437+-0.0433 ? 2.9470+-0.0360 ? crypto-aes 9.8420+-0.0631 9.8275+-0.0616 crypto-md5 3.5909+-0.0354 ? 3.6206+-0.1322 ? crypto-sha1 2.8283+-0.0449 ? 2.8637+-0.0817 ? might be 1.0125x slower date-format-tofte 11.7751+-0.0254 ? 11.7969+-0.0439 ? date-format-xparb 11.7065+-0.7856 11.4490+-0.0504 might be 1.0225x faster math-cordic 9.1791+-0.0381 9.1594+-0.0408 math-partial-sums 14.0202+-0.0616 ? 14.0333+-0.0477 ? math-spectral-norm 2.5369+-0.0418 2.5229+-0.0312 regexp-dna 11.9206+-0.0589 11.9128+-0.0532 string-base64 5.3255+-0.9732 4.9179+-0.0486 might be 1.0829x faster string-fasta 10.5078+-0.0505 ? 10.5130+-0.0682 ? string-tagcloud 15.7834+-0.0443 ? 15.8327+-0.0587 ? string-unpack-code 27.0578+-0.1549 ! 27.3788+-0.0555 ! definitely 1.0119x slower string-validate-input 7.2393+-0.0398 ^ 7.1573+-0.0247 ^ definitely 1.0115x faster <arithmetic> * 8.1355+-0.0508 8.1231+-0.0184 <geometric> 6.4627+-0.0374 6.4467+-0.0172 <harmonic> 4.9004+-0.0295 4.8889+-0.0210 TipOfTree LogicalNotFix V8: crypto 91.9812+-0.2116 ? 92.2728+-0.4610 ? deltablue 170.0262+-1.4669 168.1956+-0.9159 might be 1.0109x faster earley-boyer 132.5798+-0.1362 132.4307+-0.1731 raytrace 61.5676+-0.7737 61.1889+-0.4651 regexp 128.2276+-0.2859 ? 128.6608+-0.2597 ? richards 174.9580+-1.1185 ? 175.3891+-0.8095 ? splay 126.1295+-0.5243 ? 126.3526+-0.4069 ? <arithmetic> 126.4957+-0.3242 126.3558+-0.3078 <geometric> * 120.1337+-0.3239 120.0105+-0.3233 <harmonic> 112.9274+-0.4164 112.7808+-0.3782 TipOfTree LogicalNotFix Kraken: ai-astar 784.3388+-1.9146 782.6245+-0.8761 audio-beat-detection 386.8216+-5.0720 386.7333+-5.8225 audio-dft 352.7186+-1.6542 ? 354.1336+-2.2658 ? audio-fft 245.5192+-2.5617 243.8729+-0.3570 audio-oscillator 343.1407+-3.1949 ? 343.5626+-3.2825 ? imaging-darkroom 403.2555+-3.8355 402.5282+-3.5365 imaging-desaturate 886.6465+-1.1722 ^ 289.1595+-1.3942 ^ definitely 3.0663x faster imaging-gaussian-blur 689.2448+-0.2488 ? 695.2369+-9.1836 ? json-parse-financial 73.2286+-0.4407 ? 73.3883+-0.5363 ? json-stringify-tinderbox 124.6627+-0.2702 124.2101+-0.2466 stanford-crypto-aes 130.9747+-0.2462 ? 131.8741+-0.6689 ? stanford-crypto-ccm 131.4426+-0.4566 130.7399+-0.6726 stanford-crypto-pbkdf2 278.4486+-1.4559 278.4281+-0.5915 stanford-crypto-sha256-iterative 109.1965+-0.2393 ? 109.3319+-0.6886 ? <arithmetic> * 352.8314+-0.4333 ^ 310.4160+-0.8423 ^ definitely 1.1366x faster <geometric> 269.4075+-0.4093 ^ 248.7556+-0.4644 ^ definitely 1.0830x faster <harmonic> 204.6334+-0.3938 ^ 197.9293+-0.4193 ^ definitely 1.0339x faster TipOfTree LogicalNotFix All benchmarks: <arithmetic> 128.4390+-0.1227 ^ 115.7769+-0.2885 ^ definitely 1.1094x faster <geometric> 30.3388+-0.0994 ^ 29.5816+-0.0617 ^ definitely 1.0256x faster <harmonic> 8.6458+-0.0509 8.6223+-0.0362 TipOfTree LogicalNotFix Geomean of preferred means: <scaled-result> 70.1239+-0.1509 ^ 67.1367+-0.1453 ^ definitely 1.0445x faster
Filip Pizlo
Comment 2
2011-11-30 20:37:20 PST
Comment on
attachment 117319
[details]
the patch r=me Impressive speed-up! :-)
Yuqiang Xian
Comment 3
2011-11-30 21:01:58 PST
Landed as
r101598
:
http://trac.webkit.org/changeset/101598
Geoffrey Garen
Comment 4
2011-11-30 21:39:17 PST
Woohoo!
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug