[Webkit-unassigned] [Bug 71619] New: Value profiling should just use two buckets

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Nov 5 18:13:58 PDT 2011


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

           Summary: Value profiling should just use two buckets
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: fpizlo at apple.com


I did some benchmarking and found that the use of 8+1 buckets (8 for old JIT profiling and 1 for OSR exit profiling) is more than we need.  We get just as good if not better performance from just using 1+1 (one each for old JIT profiling and OSR exit profiling).  This is great because it simplifies the value profiling path (fewer instructions, faster), saves a register in the old JIT, and reduces space usage.



Generating benchmark report at TipOfTree_OneBucketVP_SunSpiderV8Kraken_20111105_1801_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r99229)
"OneBucketVP" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (r99229)

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              OneBucketVP                                   
SunSpider:
   3d-cube                                9.4444+-0.0323    ^     9.3092+-0.0279       ^ definitely 1.0145x faster
   3d-morph                              10.4033+-0.1709    ^    10.1059+-0.0307       ^ definitely 1.0294x faster
   3d-raytrace                            9.7956+-0.1117    ?     9.8407+-0.0569       ?
   access-binary-trees                    2.0270+-0.0109          2.0124+-0.0068       
   access-fannkuch                        9.4557+-0.0136    ^     9.4174+-0.0093       ^ definitely 1.0041x faster
   access-nbody                           5.4512+-0.0044          5.4465+-0.0123       
   access-nsieve                          3.7995+-0.0026    ^     3.7813+-0.0045       ^ definitely 1.0048x faster
   bitops-3bit-bits-in-byte               1.5501+-0.0168          1.5398+-0.0160       
   bitops-bits-in-byte                    6.0319+-0.0234    ^     5.9728+-0.0134       ^ definitely 1.0099x faster
   bitops-bitwise-and                     4.1640+-0.0738    ^     3.9988+-0.0064       ^ definitely 1.0413x faster
   bitops-nsieve-bits                     6.8094+-0.0399    ?     6.8257+-0.0439       ?
   controlflow-recursive                  2.8154+-0.0170    ?     2.8346+-0.0173       ?
   crypto-aes                             9.2499+-0.0839    !     9.7937+-0.0764       ! definitely 1.0588x slower
   crypto-md5                             3.4338+-0.0093          3.4084+-0.0318       
   crypto-sha1                            3.1502+-0.0155          3.1463+-0.0220       
   date-format-tofte                     13.0974+-0.1241    ?    13.1928+-0.0860       ?
   date-format-xparb                     12.3853+-0.0783    ?    12.8073+-0.3730       ? might be 1.0341x slower
   math-cordic                            8.7652+-0.0334    ?     8.8017+-0.0918       ?
   math-partial-sums                     12.8008+-0.0415         12.8001+-0.0514       
   math-spectral-norm                     3.4674+-0.0090    ^     3.4443+-0.0057       ^ definitely 1.0067x faster
   regexp-dna                            16.5719+-0.1238         16.4972+-0.1279       
   string-base64                          5.2041+-0.0308          5.1135+-0.0703         might be 1.0177x faster
   string-fasta                           8.7949+-0.1948    ^     8.5718+-0.0201       ^ definitely 1.0260x faster
   string-tagcloud                       15.8784+-0.1283    ?    15.9105+-0.1423       ?
   string-unpack-code                    28.3148+-0.0696         28.2295+-0.1026       
   string-validate-input                  7.0701+-0.0848    ^     6.8534+-0.0518       ^ definitely 1.0316x faster

   <arithmetic> *                         8.4589+-0.0368          8.4483+-0.0276       
   <geometric>                            6.7950+-0.0275          6.7697+-0.0197       
   <harmonic>                             5.3454+-0.0204          5.3145+-0.0154       

                                            TipOfTree              OneBucketVP                                   
V8:
   crypto                                97.7543+-0.3511         97.3937+-0.2756       
   deltablue                            219.6112+-1.8180        219.1773+-2.4201       
   earley-boyer                         133.5170+-0.2285    ^   131.1894+-1.3782       ^ definitely 1.0177x faster
   raytrace                              84.3367+-0.6111    ?    85.3164+-0.8042       ? might be 1.0116x slower
   regexp                               149.4763+-0.2715    !   151.5035+-0.3650       ! definitely 1.0136x slower
   richards                             174.3946+-0.7936    ^   172.0640+-1.1799       ^ definitely 1.0135x faster
   splay                                107.4827+-1.1809    ?   108.2485+-1.3268       ?

   <arithmetic>                         138.0818+-0.3135        137.8418+-0.4181       
   <geometric> *                        131.4217+-0.3243        131.3308+-0.4165       
   <harmonic>                           125.3079+-0.3596    ?   125.3763+-0.4490       ?

                                            TipOfTree              OneBucketVP                                   
Kraken:
   ai-astar                             896.9548+-1.7426        895.8417+-0.6878       
   audio-beat-detection                 257.9389+-2.3795        255.1806+-0.9593         might be 1.0108x faster
   audio-dft                            314.7822+-2.7349    ?   314.9732+-2.7514       ?
   audio-fft                            167.5004+-0.9682        167.0070+-0.4499       
   audio-oscillator                     351.4115+-1.8714    ?   351.7607+-1.1919       ?
   imaging-darkroom                     402.4379+-5.3544    ?   405.1164+-5.7681       ?
   imaging-desaturate                   291.2985+-0.0342        291.2460+-0.0585       
   imaging-gaussian-blur                751.0062+-0.2454    ?   751.1033+-0.2355       ?
   json-parse-financial                  87.5892+-0.2083    ^    86.4003+-0.1607       ^ definitely 1.0138x faster
   json-stringify-tinderbox              95.5809+-0.4278    ?    96.0481+-0.5510       ?
   stanford-crypto-aes                  140.1788+-0.6412    ^   138.8752+-0.5939       ^ definitely 1.0094x faster
   stanford-crypto-ccm                  139.2021+-0.8158    ^   136.8842+-0.5039       ^ definitely 1.0169x faster
   stanford-crypto-pbkdf2               290.6461+-2.2840        287.1813+-2.2450         might be 1.0121x faster
   stanford-crypto-sha256-iterative     118.2348+-0.1568    ?   118.3057+-0.3454       ?

   <arithmetic> *                       307.4830+-0.4522        306.8517+-0.6122       
   <geometric>                          240.1128+-0.3429    ^   239.2066+-0.4708       ^ definitely 1.0038x faster
   <harmonic>                           193.5480+-0.2692    ^   192.5621+-0.3340       ^ definitely 1.0051x faster

                                            TipOfTree              OneBucketVP                                   
All benchmarks:
   <arithmetic>                         116.8355+-0.1279        116.6058+-0.1822       
   <geometric>                           30.5466+-0.0760         30.4462+-0.0609       
   <harmonic>                             9.4148+-0.0352          9.3611+-0.0267       

                                            TipOfTree              OneBucketVP                                   
Geomean of preferred means:
   <scaled-result>                       69.9195+-0.1277         69.8263+-0.1330

-- 
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