[Webkit-unassigned] [Bug 74480] DFG should infer when local variables are doubles

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 13 20:34:51 PST 2011


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





--- Comment #2 from Filip Pizlo <fpizlo at apple.com>  2011-12-13 20:34:52 PST ---
This seems to speed up SunSpider by almost 1% and Kraken by over 4%.



[pizlo at nitroflex bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc InferDouble:/Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc --remote oldmac,bigmac
Packaging VM builds for remote hosts...
Sending VM builds to oldmac...
Running on oldmac...
376/376                                                          
Generating benchmark report at TipOfTree_InferDouble_SunSpiderV8Kraken_20111213_2031_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 (r102726)
"InferDouble" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726)

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              InferDouble                                   
SunSpider:
   3d-cube                                8.8640+-0.0429    ^     7.4783+-0.0387       ^ definitely 1.1853x faster
   3d-morph                              10.1664+-0.1668         10.0235+-0.0396         might be 1.0143x faster
   3d-raytrace                           10.0254+-0.8807          9.1721+-0.0705         might be 1.0930x faster
   access-binary-trees                    1.9152+-0.0090    ?     1.9269+-0.0090       ?
   access-fannkuch                        8.9156+-0.0068    !     9.1071+-0.0079       ! definitely 1.0215x slower
   access-nbody                           4.7595+-0.0254    ?     4.7900+-0.0194       ?
   access-nsieve                          3.7866+-0.0047    !     3.8020+-0.0041       ! definitely 1.0041x slower
   bitops-3bit-bits-in-byte               1.5002+-0.0191    ?     1.5625+-0.0496       ? might be 1.0415x slower
   bitops-bits-in-byte                    6.1139+-0.0243    ?     6.1573+-0.0369       ?
   bitops-bitwise-and                     3.9910+-0.0376          3.9838+-0.0095       
   bitops-nsieve-bits                     6.8580+-0.0513          6.7878+-0.0329         might be 1.0103x faster
   controlflow-recursive                  2.8194+-0.0162    ?     2.8544+-0.0249       ? might be 1.0124x slower
   crypto-aes                             9.1490+-0.3096          9.0991+-0.0468       
   crypto-md5                             2.9499+-0.0146    !     3.0445+-0.0578       ! definitely 1.0321x slower
   crypto-sha1                            2.6060+-0.0203    !     2.6795+-0.0190       ! definitely 1.0282x slower
   date-format-tofte                     13.2222+-0.3235         12.8159+-0.1231         might be 1.0317x faster
   date-format-xparb                     12.1189+-0.1112    ^    11.8531+-0.1179       ^ definitely 1.0224x faster
   math-cordic                            8.6257+-0.0290    ?     8.6343+-0.0248       ?
   math-partial-sums                     12.7365+-0.1972    ?    12.7552+-0.2154       ?
   math-spectral-norm                     3.1432+-0.0107    !     3.1836+-0.0043       ! definitely 1.0128x slower
   regexp-dna                            10.7363+-0.0470    ?    10.7956+-0.1236       ?
   string-base64                          5.2740+-0.1528          5.1653+-0.0371         might be 1.0210x faster
   string-fasta                           8.7299+-0.0440          8.7156+-0.0123       
   string-tagcloud                       14.7977+-0.0608    ?    14.8364+-0.0648       ?
   string-unpack-code                    25.2653+-0.0788    !    26.1269+-0.6823       ! definitely 1.0341x slower
   string-validate-input                  6.9628+-0.2511          6.8991+-0.1079       

   <arithmetic> *                         7.9243+-0.0316    ^     7.8557+-0.0346       ^ definitely 1.0087x faster
   <geometric>                            6.4154+-0.0237          6.3781+-0.0215         might be 1.0059x faster
   <harmonic>                             5.0441+-0.0202    ?     5.0683+-0.0227       ? might be 1.0048x slower

                                            TipOfTree              InferDouble                                   
V8:
   crypto                                92.3189+-0.1768    !    92.9931+-0.2907       ! definitely 1.0073x slower
   deltablue                            202.2128+-0.7672    ?   204.2764+-2.6381       ? might be 1.0102x slower
   earley-boyer                         120.2561+-1.5281        119.9834+-1.0816       
   raytrace                              62.6864+-0.2945    ?    62.9496+-0.3395       ?
   regexp                               146.4076+-0.3915    ?   147.5305+-1.0621       ?
   richards                             169.3085+-0.9655        168.7773+-0.1446       
   splay                                109.0943+-2.6160        107.2942+-1.4021         might be 1.0168x faster

   <arithmetic>                         128.8978+-0.3947    ?   129.1149+-0.5027       ? might be 1.0017x slower
   <geometric> *                        121.0234+-0.4854    ?   121.1533+-0.4136       ? might be 1.0011x slower
   <harmonic>                           112.9735+-0.5265    ?   113.0861+-0.3863       ? might be 1.0010x slower

                                            TipOfTree              InferDouble                                   
Kraken:
   ai-astar                             896.2120+-0.9081    ?   897.4056+-1.4467       ?
   audio-beat-detection                 249.7459+-0.7168    ^   236.9684+-4.7124       ^ definitely 1.0539x faster
   audio-dft                            333.0498+-2.6652        332.0324+-2.7483       
   audio-fft                            162.2732+-0.5465    ^   145.1072+-1.7622       ^ definitely 1.1183x faster
   audio-oscillator                     349.9188+-7.0760    ?   351.8688+-6.0331       ?
   imaging-darkroom                     390.6610+-7.3585    ^   365.0496+-9.1288       ^ definitely 1.0702x faster
   imaging-desaturate                   287.2454+-0.2057        287.0173+-0.1003       
   imaging-gaussian-blur                758.5774+-0.5489    ^   629.6762+-0.3251       ^ definitely 1.2047x faster
   json-parse-financial                  86.2733+-0.6693    ^    84.3297+-0.1604       ^ definitely 1.0230x faster
   json-stringify-tinderbox             100.0438+-0.4731         99.4582+-0.2832       
   stanford-crypto-aes                  140.6614+-0.5033    ?   141.6958+-0.6747       ?
   stanford-crypto-ccm                  136.0580+-0.8596    ?   138.4874+-2.8805       ? might be 1.0179x slower
   stanford-crypto-pbkdf2               283.1231+-3.2818        281.5303+-2.3855       
   stanford-crypto-sha256-iterative     116.7429+-0.1577    ?   116.9579+-0.2699       ?

   <arithmetic> *                       306.4704+-0.7919    ^   293.3989+-0.7825       ^ definitely 1.0446x faster
   <geometric>                          238.8340+-0.5606    ^   231.7124+-0.6685       ^ definitely 1.0307x faster
   <harmonic>                           192.6930+-0.3632    ^   188.6710+-0.5133       ^ definitely 1.0213x faster

                                            TipOfTree              InferDouble                                   
All benchmarks:
   <arithmetic>                         114.8703+-0.2586    ^   110.9710+-0.2019       ^ definitely 1.0351x faster
   <geometric>                           29.1832+-0.0820    ^    28.8325+-0.0695       ^ definitely 1.0122x faster
   <harmonic>                             8.8861+-0.0351    ?     8.9251+-0.0391       ? might be 1.0044x slower

                                            TipOfTree              InferDouble                                   
Geomean of preferred means:
   <scaled-result>                       66.4871+-0.1791    ^    65.3617+-0.1533       ^ definitely 1.0172x faster

Sending VM builds to bigmac...
Running on bigmac...
376/376                                                          
Generating benchmark report at TipOfTree_InferDouble_SunSpiderV8Kraken_20111213_2034_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102726)
"InferDouble" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726)

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              InferDouble                                   
SunSpider:
   3d-cube                                7.3599+-0.0172    ^     6.1935+-0.0176       ^ definitely 1.1883x faster
   3d-morph                               8.2787+-0.0331    ?     8.3131+-0.0408       ?
   3d-raytrace                            7.7594+-0.0530    ^     7.5626+-0.0297       ^ definitely 1.0260x faster
   access-binary-trees                    1.5990+-0.0052    !     1.6218+-0.0143       ! definitely 1.0143x slower
   access-fannkuch                        7.3794+-0.0073    !     7.4922+-0.0038       ! definitely 1.0153x slower
   access-nbody                           3.9501+-0.0174    ?     3.9710+-0.0097       ?
   access-nsieve                          3.1931+-0.0443    ?     3.1985+-0.0472       ?
   bitops-3bit-bits-in-byte               1.2343+-0.0055    !     1.2645+-0.0171       ! definitely 1.0245x slower
   bitops-bits-in-byte                    5.0627+-0.0232    !     5.1193+-0.0273       ! definitely 1.0112x slower
   bitops-bitwise-and                     3.2883+-0.0042    ?     3.2890+-0.0039       ?
   bitops-nsieve-bits                     5.6403+-0.0372    ?     5.6504+-0.0354       ?
   controlflow-recursive                  2.3189+-0.0138    ?     2.3545+-0.0273       ? might be 1.0154x slower
   crypto-aes                             7.4006+-0.0336    !     7.5795+-0.0310       ! definitely 1.0242x slower
   crypto-md5                             2.4745+-0.0309    ?     2.4950+-0.0210       ?
   crypto-sha1                            2.1917+-0.0449    ?     2.2407+-0.0278       ? might be 1.0224x slower
   date-format-tofte                     11.0961+-0.1433    ^    10.5340+-0.0384       ^ definitely 1.0534x faster
   date-format-xparb                      9.8547+-0.1059    ^     9.5439+-0.0965       ^ definitely 1.0326x faster
   math-cordic                            7.1632+-0.0410    ?     7.1637+-0.0393       ?
   math-partial-sums                     10.3850+-0.0217    ?    10.3925+-0.0196       ?
   math-spectral-norm                     2.6165+-0.0184    !     2.6503+-0.0131       ! definitely 1.0129x slower
   regexp-dna                             8.8524+-0.0147    ?     8.8590+-0.0807       ?
   string-base64                          4.2392+-0.0153    ?     4.2676+-0.0196       ?
   string-fasta                           7.2051+-0.0222    ?     7.2101+-0.0155       ?
   string-tagcloud                       12.3163+-0.0420         12.2793+-0.0387       
   string-unpack-code                    20.3161+-0.0639    !    20.5405+-0.0945       ! definitely 1.0110x slower
   string-validate-input                  5.6125+-0.0396    !     5.7773+-0.1028       ! definitely 1.0294x slower

   <arithmetic> *                         6.4918+-0.0170    ^     6.4448+-0.0153       ^ definitely 1.0073x faster
   <geometric>                            5.2794+-0.0164          5.2639+-0.0163         might be 1.0029x faster
   <harmonic>                             4.1698+-0.0171    ?     4.1920+-0.0188       ? might be 1.0053x slower

                                            TipOfTree              InferDouble                                   
V8:
   crypto                                76.4124+-0.1538    !    77.0335+-0.1729       ! definitely 1.0081x slower
   deltablue                            168.1110+-0.6092    ?   168.7514+-0.3281       ?
   earley-boyer                          99.2037+-1.1928         98.8622+-1.2312       
   raytrace                              52.0740+-0.2648    ?    52.4510+-0.3786       ?
   regexp                               122.5762+-0.4387    ?   122.5942+-0.2169       ?
   richards                             140.6193+-0.7333        139.5501+-0.3941       
   splay                                 90.2985+-1.3064    ?    91.0237+-0.7212       ?

   <arithmetic>                         107.0421+-0.3858    ?   107.1809+-0.2302       ? might be 1.0013x slower
   <geometric> *                        100.4577+-0.3973    ?   100.6914+-0.2481       ? might be 1.0023x slower
   <harmonic>                            93.7450+-0.3869    ?    94.0821+-0.2642       ? might be 1.0036x slower

                                            TipOfTree              InferDouble                                   
Kraken:
   ai-astar                             807.6937+-13.0171   ?   817.9578+-10.9610      ? might be 1.0127x slower
   audio-beat-detection                 204.3632+-0.5384    ^   191.4491+-0.5621       ^ definitely 1.0675x faster
   audio-dft                            276.4388+-2.6729        274.2325+-2.9873       
   audio-fft                            132.8794+-0.7502    ^   118.3667+-0.2785       ^ definitely 1.1226x faster
   audio-oscillator                     284.9315+-4.3764        281.0456+-3.3328         might be 1.0138x faster
   imaging-darkroom                     324.4538+-6.9686    ^   304.7928+-8.4104       ^ definitely 1.0645x faster
   imaging-desaturate                   237.5346+-0.0964    ?   239.1287+-1.8817       ?
   imaging-gaussian-blur                626.5905+-1.1450    ^   520.3426+-0.6142       ^ definitely 1.2042x faster
   json-parse-financial                  70.3191+-0.1552    ^    69.5164+-0.0608       ^ definitely 1.0115x faster
   json-stringify-tinderbox              82.0737+-0.2916         81.6829+-0.1863       
   stanford-crypto-aes                  117.5053+-0.5505    ?   118.4122+-0.7377       ?
   stanford-crypto-ccm                  114.0254+-0.5261        113.5638+-0.6127       
   stanford-crypto-pbkdf2               230.9448+-0.2295        230.8450+-1.0556       
   stanford-crypto-sha256-iterative      96.0198+-0.2617    ?    96.3091+-0.2522       ?

   <arithmetic> *                       257.5553+-1.4028    ^   246.9747+-0.9613       ^ definitely 1.0428x faster
   <geometric>                          198.0558+-0.6962    ^   191.8997+-0.5139       ^ definitely 1.0321x faster
   <harmonic>                           158.8931+-0.3653    ^   155.4050+-0.3034       ^ definitely 1.0224x faster

                                            TipOfTree              InferDouble                                   
All benchmarks:
   <arithmetic>                          96.2523+-0.4319    ^    93.0952+-0.3051       ^ definitely 1.0339x faster
   <geometric>                           24.1014+-0.0648    ^    23.8453+-0.0635       ^ definitely 1.0107x faster
   <harmonic>                             7.3459+-0.0296    ?     7.3821+-0.0326       ? might be 1.0049x slower

                                            TipOfTree              InferDouble                                   
Geomean of preferred means:
   <scaled-result>                       55.1742+-0.1569    ^    54.3187+-0.1325       ^ definitely 1.0157x faster

[pizlo at nitroflex bencher]

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