[Webkit-unassigned] [Bug 71202] DFG OSR exits should add to value profiles

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 31 01:42:04 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=71202


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #113012|0                           |1
        is obsolete|                            |
 Attachment #113012|review?                     |
               Flag|                            |
 Attachment #113022|                            |review?
               Flag|                            |




--- Comment #3 from Filip Pizlo <fpizlo at apple.com>  2011-10-31 01:42:04 PST ---
Created an attachment (id=113022)
 --> (https://bugs.webkit.org/attachment.cgi?id=113022&action=review)
the patch

Implemented 32_64.  Fixed some pathologies that I found along the way.

Performance on my MBP:


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"OSRExitProfile" at /Volumes/Data/pizlo/OpenSource/WebKitBuild/Release/jsc

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             OSRExitProfile                                 
SunSpider:
   3d-cube                                7.4545+-0.2832          7.2920+-0.2150         might be 1.0223x faster
   3d-morph                               7.6612+-0.1539          7.5698+-0.1604         might be 1.0121x faster
   3d-raytrace                            7.5646+-0.1959          7.5226+-0.2498       
   access-binary-trees                    1.7036+-0.0889          1.6274+-0.0497         might be 1.0468x faster
   access-fannkuch                        6.5161+-0.1284    ?     6.5336+-0.1356       ?
   access-nbody                           3.7941+-0.0783          3.7882+-0.0742       
   access-nsieve                          2.6010+-0.1113    ?     2.6077+-0.0756       ?
   bitops-3bit-bits-in-byte               1.3291+-0.0764          1.2797+-0.0307         might be 1.0386x faster
   bitops-bits-in-byte                    2.4330+-0.0468          2.4273+-0.0345       
   bitops-bitwise-and                     3.5000+-0.3836          3.3709+-0.1231         might be 1.0383x faster
   bitops-nsieve-bits                     5.5452+-0.1208          5.5114+-0.1194       
   controlflow-recursive                  2.1032+-0.0495    ?     2.1054+-0.0467       ?
   crypto-aes                             7.5267+-0.2766    ?     7.6808+-0.2884       ? might be 1.0205x slower
   crypto-md5                             2.7573+-0.0798          2.6895+-0.0813         might be 1.0252x faster
   crypto-sha1                            2.5158+-0.0961    ?     2.5269+-0.0744       ?
   date-format-tofte                     10.5336+-0.3881         10.0672+-0.3106         might be 1.0463x faster
   date-format-xparb                      9.2902+-0.2910    ?     9.7650+-0.2773       ? might be 1.0511x slower
   math-cordic                            6.5445+-0.1407          6.4691+-0.1203         might be 1.0117x faster
   math-partial-sums                      7.4331+-0.1180    ?     7.4579+-0.1256       ?
   math-spectral-norm                     2.5659+-0.0569    ?     2.6255+-0.0755       ? might be 1.0232x slower
   regexp-dna                            11.7454+-0.2662         11.5669+-0.2919         might be 1.0154x faster
   string-base64                          4.5259+-0.2209    ^     4.0954+-0.1086       ^ definitely 1.1051x faster
   string-fasta                           6.3696+-0.1226    ?     6.4395+-0.2528       ? might be 1.0110x slower
   string-tagcloud                       11.8794+-0.5258         11.6764+-0.4317         might be 1.0174x faster
   string-unpack-code                    21.0209+-0.5359         21.0046+-0.4777       
   string-validate-input                  5.3864+-0.1639          5.3293+-0.2266         might be 1.0107x faster

   <arithmetic> *                         6.2423+-0.0458          6.1935+-0.0323       
   <geometric>                            5.0308+-0.0482          4.9799+-0.0249         might be 1.0102x faster
   <harmonic>                             4.0224+-0.0589          3.9694+-0.0275         might be 1.0134x faster

                                            TipOfTree             OSRExitProfile                                 
V8:
   crypto                                72.7642+-0.4655    !    73.7216+-0.4294       ! definitely 1.0132x slower
   deltablue                            165.3919+-0.6548    ?   167.2993+-2.5104       ? might be 1.0115x slower
   earley-boyer                          90.5715+-0.4088    !    91.4635+-0.3694       ! definitely 1.0098x slower
   raytrace                              63.0878+-0.5189    ?    63.1119+-0.4952       ?
   regexp                               104.5092+-0.2850    ?   104.6082+-0.5008       ?
   richards                             125.1410+-0.7511        124.6242+-0.4366       
   splay                                 92.6263+-0.8803         91.7876+-0.3696       

   <arithmetic>                         102.0131+-0.2478    ?   102.3737+-0.3549       ?
   <geometric> *                         97.4202+-0.2436    ?    97.7310+-0.2245       ?
   <harmonic>                            93.2800+-0.2585    ?    93.5759+-0.1745       ?

                                            TipOfTree             OSRExitProfile                                 
Kraken:
   ai-astar                             497.8291+-2.2483        495.2406+-4.7121       
   audio-beat-detection                 190.5957+-1.5949    ?   191.3128+-2.4672       ?
   audio-dft                            271.3709+-7.4366        264.9552+-2.7768         might be 1.0242x faster
   audio-fft                            124.2120+-1.0364        123.6318+-0.7699       
   audio-oscillator                     251.2518+-1.6367    ?   252.5525+-1.8577       ?
   imaging-darkroom                     438.3063+-43.5788   ^   300.6240+-3.8107       ^ definitely 1.4580x faster
   imaging-desaturate                   225.0933+-0.9025        224.7551+-1.1130       
   imaging-gaussian-blur                553.4834+-2.1758        552.4078+-2.6317       
   json-parse-financial                  57.6940+-0.2728         57.5327+-0.5092       
   json-stringify-tinderbox              68.7863+-0.7813         68.4622+-0.6336       
   stanford-crypto-aes                  133.4748+-1.5811    ^    96.9603+-1.0838       ^ definitely 1.3766x faster
   stanford-crypto-ccm                  100.3808+-1.5548         99.5330+-1.0401       
   stanford-crypto-pbkdf2               192.9906+-0.8765    ?   196.4618+-2.8331       ? might be 1.0180x slower
   stanford-crypto-sha256-iterative      71.0408+-0.7204    !    79.7118+-0.3803       ! definitely 1.1221x slower

   <arithmetic> *                       226.8936+-2.7807    ^   214.5816+-0.4404       ^ definitely 1.0574x faster
   <geometric>                          177.8281+-0.9731    ^   170.3935+-0.4246       ^ definitely 1.0436x faster
   <harmonic>                           139.7862+-0.3273    ^   136.3782+-0.4782       ^ definitely 1.0250x faster

                                            TipOfTree             OSRExitProfile                                 
All benchmarks:
   <arithmetic>                          86.2320+-0.8017    ^    82.5912+-0.1293       ^ definitely 1.0441x faster
   <geometric>                           22.6213+-0.1161    ^    22.2213+-0.0647       ^ definitely 1.0180x faster
   <harmonic>                             7.0792+-0.1007          6.9861+-0.0471         might be 1.0133x faster

                                            TipOfTree             OSRExitProfile                                 
Geomean of preferred means:
   <scaled-result>                       51.6707+-0.1784    ^    50.6426+-0.1111       ^ definitely 1.0203x faster


Performance on my Mac Pro:


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/fromMiniMe/quinary/OpenSource/WebKitBuild/Release/jsc
"OSRExitProfile" at /Volumes/Data/fromMiniMe/OpenSource/WebKitBuild/Release/jsc

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             OSRExitProfile                                 
SunSpider:
   3d-cube                                7.9226+-0.0726          7.9218+-0.0725       
   3d-morph                               8.4109+-0.0357    !     8.6122+-0.1463       ! definitely 1.0239x slower
   3d-raytrace                            8.2457+-0.1275          8.1584+-0.0989         might be 1.0107x faster
   access-binary-trees                    1.7159+-0.0235          1.7122+-0.0244       
   access-fannkuch                        7.7707+-0.0323    !     7.8800+-0.0327       ! definitely 1.0141x slower
   access-nbody                           4.6132+-0.0267    ^     4.5377+-0.0119       ^ definitely 1.0166x faster
   access-nsieve                          3.2429+-0.0318          3.2209+-0.0202       
   bitops-3bit-bits-in-byte               1.3253+-0.0088          1.3217+-0.0118       
   bitops-bits-in-byte                    4.9741+-0.0289    ?     4.9939+-0.0235       ?
   bitops-bitwise-and                     3.4683+-0.0677    ?     3.4788+-0.0910       ?
   bitops-nsieve-bits                     5.7003+-0.0376          5.6874+-0.0379       
   controlflow-recursive                  2.3656+-0.0301          2.3521+-0.0241       
   crypto-aes                             7.6225+-0.0454    !     7.7965+-0.0962       ! definitely 1.0228x slower
   crypto-md5                             2.8842+-0.0301    ?     2.8846+-0.0220       ?
   crypto-sha1                            2.6554+-0.0292          2.6467+-0.0274       
   date-format-tofte                     10.8094+-0.0904         10.6824+-0.1033         might be 1.0119x faster
   date-format-xparb                     10.2739+-0.0636    !    11.2169+-0.4809       ! definitely 1.0918x slower
   math-cordic                            7.2778+-0.0287          7.2759+-0.0338       
   math-partial-sums                     10.5738+-0.0555         10.5579+-0.0218       
   math-spectral-norm                     2.9220+-0.0349          2.8988+-0.0226       
   regexp-dna                            13.4306+-0.1902    ?    13.6700+-0.2354       ? might be 1.0178x slower
   string-base64                          4.5318+-0.0131    ^     4.3737+-0.0480       ^ definitely 1.0361x faster
   string-fasta                           7.1551+-0.0175    ?     7.2128+-0.0580       ?
   string-tagcloud                       13.1124+-0.0961         13.0921+-0.0823       
   string-unpack-code                    23.1503+-0.2013         23.0892+-0.1106       
   string-validate-input                  5.8721+-0.0375    ^     5.7439+-0.0192       ^ definitely 1.0223x faster

   <arithmetic> *                         7.0010+-0.0275    ?     7.0392+-0.0385       ?
   <geometric>                            5.6642+-0.0235    ?     5.6740+-0.0273       ?
   <harmonic>                             4.4911+-0.0229          4.4824+-0.0236       

                                            TipOfTree             OSRExitProfile                                 
V8:
   crypto                                81.4879+-0.5618    ?    81.6116+-0.5521       ?
   deltablue                            182.8618+-1.5267        182.3407+-1.5476       
   earley-boyer                         114.2309+-0.5866    ^   112.4634+-0.4256       ^ definitely 1.0157x faster
   raytrace                              70.4738+-0.2521    ^    69.4215+-0.7369       ^ definitely 1.0152x faster
   regexp                               125.1142+-0.8947        124.7320+-0.4422       
   richards                             141.8218+-0.2707    !   144.2976+-0.3103       ! definitely 1.0175x slower
   splay                                122.3796+-0.5153    ^   121.3030+-0.5030       ^ definitely 1.0089x faster

   <arithmetic>                         119.7671+-0.3736        119.4528+-0.2912       
   <geometric> *                        114.6531+-0.3189        114.2175+-0.2599       
   <harmonic>                           109.5415+-0.2858        108.9818+-0.2788       

                                            TipOfTree             OSRExitProfile                                 
Kraken:
   ai-astar                             816.5574+-12.8439   ?   827.0204+-0.7326       ? might be 1.0128x slower
   audio-beat-detection                 213.8757+-0.9533    ^   211.2199+-0.9561       ^ definitely 1.0126x faster
   audio-dft                            269.7655+-7.9556        262.5692+-3.1835         might be 1.0274x faster
   audio-fft                            133.3203+-0.2228    !   137.8996+-0.6059       ! definitely 1.0343x slower
   audio-oscillator                     292.7531+-1.2667    ?   293.1369+-1.3357       ?
   imaging-darkroom                     462.4961+-11.1884   ^   340.0617+-5.4201       ^ definitely 1.3600x faster
   imaging-desaturate                   245.5975+-0.4425    ^   241.5062+-0.2790       ^ definitely 1.0169x faster
   imaging-gaussian-blur                622.4428+-0.6371        622.2575+-0.5368       
   json-parse-financial                  71.9435+-0.6837         71.3530+-0.4389       
   json-stringify-tinderbox              79.4496+-0.4179         79.4022+-0.3451       
   stanford-crypto-aes                  154.8135+-2.3105    ^   116.4911+-0.5211       ^ definitely 1.3290x faster
   stanford-crypto-ccm                  116.2768+-1.2510    ?   116.3312+-0.6872       ?
   stanford-crypto-pbkdf2               235.4881+-1.7905    ?   236.9285+-1.1141       ?
   stanford-crypto-sha256-iterative      85.8812+-0.1605    !    98.6669+-0.2702       ! definitely 1.1489x slower

   <arithmetic> *                       271.4758+-1.2765    ^   261.0603+-0.3748       ^ definitely 1.0399x faster
   <geometric>                          207.2575+-0.4542    ^   200.5239+-0.3073       ^ definitely 1.0336x faster
   <harmonic>                           163.1304+-0.2808    ^   160.4491+-0.2487       ^ definitely 1.0167x faster

                                            TipOfTree             OSRExitProfile                                 
All benchmarks:
   <arithmetic>                         102.5757+-0.3941    ^    99.4475+-0.1162       ^ definitely 1.0315x faster
   <geometric>                           25.9042+-0.0727    ^    25.6604+-0.0722       ^ definitely 1.0095x faster
   <harmonic>                             7.9138+-0.0395          7.8966+-0.0406       

                                            TipOfTree             OSRExitProfile                                 
Geomean of preferred means:
   <scaled-result>                       60.1758+-0.1473    ^    59.4285+-0.1256       ^ definitely 1.0126x 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