[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