[Webkit-unassigned] [Bug 75812] JSC should be a triple-tier VM

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 17 22:26:11 PST 2012


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


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #122841|0                           |1
        is obsolete|                            |




--- Comment #24 from Filip Pizlo <fpizlo at apple.com>  2012-01-17 22:26:11 PST ---
Created an attachment (id=122872)
 --> (https://bugs.webkit.org/attachment.cgi?id=122872&action=review)
work in progress

This now runs SunSpider, V8, and Kraken in release mode.  It turns out that there was a bug in the offline assembler's interaction with the system linker, where the assembler's use of non-local but non-global labels (i.e. labels beginning with '_' but lacking a '.globl') was causing a hilarious bug: an entire snippet of code between two such labels disappeared sometime between when the inline assembly was passed to the C++ compiler and when it was loaded into memory when the binary ran!

Anyway, here's the performance of just the low-level interpreter (LLInt) without tiering support.

Remaining work includes:

- Running layout tests.  Not anticipating anything big there.

- Enabling tiering and enjoying the bug explosion.


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

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r105216)
"LLInt" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (r105216)
"OldInt" at /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc (r105216)

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                 LLInt                   OldInt              OldInt v. TipOfTree    
SunSpider:
   3d-cube                                7.6638+-0.0505    !    20.0177+-0.0229    !    51.2581+-0.0747       ! definitely 6.6884x slower
   3d-morph                              14.0859+-0.0497    !    22.2417+-0.0705    !    63.8518+-0.1799       ! definitely 4.5330x slower
   3d-raytrace                           11.8198+-0.0278    !    32.3048+-0.2806    !    57.2185+-0.0874       ! definitely 4.8409x slower
   access-binary-trees                    2.2516+-0.0116    !    11.5333+-0.0726    !    17.5089+-0.0268       ! definitely 7.7761x slower
   access-fannkuch                       11.4253+-0.0212    !    51.4479+-1.7268    !   119.4145+-0.4435       ! definitely 10.4517x slower
   access-nbody                           6.8891+-0.0643    !    22.1227+-0.0842    !    56.7224+-0.0504       ! definitely 8.2336x slower
   access-nsieve                          3.8053+-0.0326    !    10.4458+-0.0395    !    25.1232+-0.0232       ! definitely 6.6021x slower
   bitops-3bit-bits-in-byte               1.5363+-0.0249    !    20.9110+-0.0530    !    42.8032+-0.0428       ! definitely 27.8613x slower
   bitops-bits-in-byte                    6.0055+-0.0246    !    27.4117+-0.7046    !    44.8535+-0.1989       ! definitely 7.4687x slower
   bitops-bitwise-and                     4.6773+-0.0433    !    22.7415+-0.1085    !    47.1811+-0.0167       ! definitely 10.0871x slower
   bitops-nsieve-bits                     8.2503+-0.0383    !    25.2988+-0.0695    !    60.1579+-0.0419       ! definitely 7.2916x slower
   controlflow-recursive                  3.5350+-0.0092    !    12.4984+-0.0564    !    26.1094+-0.1379       ! definitely 7.3861x slower
   crypto-aes                            11.2509+-0.1880    !    23.7763+-0.1513    !    40.7436+-0.1964       ! definitely 3.6214x slower
   crypto-md5                             3.4951+-0.0344    !    15.9365+-0.1302    !    27.5367+-0.1492       ! definitely 7.8786x slower
   crypto-sha1                            3.0708+-0.0170    !    14.6742+-0.0774    !    27.7720+-0.3279       ! definitely 9.0438x slower
   date-format-tofte                     14.1085+-0.1157    !    31.0783+-0.0933    ^    30.7639+-0.0352       ! definitely 2.1805x slower
   date-format-xparb                     14.4195+-0.1487    !    26.5260+-0.1848    ^    23.1269+-0.0614       ! definitely 1.6039x slower
   math-cordic                           12.1021+-0.0200    !    36.6978+-0.1130    !    70.9342+-0.3044       ! definitely 5.8613x slower
   math-partial-sums                     15.0148+-0.0252    !    22.0465+-0.0671    !    54.6326+-0.0661       ! definitely 3.6386x slower
   math-spectral-norm                     3.2588+-0.0080    !    18.0681+-1.2429    !    42.4210+-0.0473       ! definitely 13.0173x slower
   regexp-dna                            11.1681+-0.0469    ?    11.2181+-0.0782    !   233.8707+-0.7245       ! definitely 20.9410x slower
   string-base64                          5.7609+-0.0243    !    25.8767+-0.1465    !    27.5596+-0.1349       ! definitely 4.7839x slower
   string-fasta                          10.5268+-0.0296    !    24.8933+-0.2741    !    36.4612+-0.0171       ! definitely 3.4637x slower
   string-tagcloud                       16.5318+-0.0611    !    26.0234+-0.3133    !    45.0726+-0.6773       ! definitely 2.7264x slower
   string-unpack-code                    26.5009+-0.1188    !    30.0149+-0.2176    !    64.0745+-0.1974       ! definitely 2.4178x slower
   string-validate-input                  7.6353+-0.0251    !    17.3225+-0.0934    !    23.3600+-0.1823       ! definitely 3.0595x slower

   <arithmetic> *                         9.1073+-0.0249    !    23.1972+-0.1000    !    52.3282+-0.0400       ! definitely 5.7457x slower
   <geometric>                            7.3686+-0.0196    !    21.6519+-0.0729    !    43.7337+-0.0305       ! definitely 5.9351x slower
   <harmonic>                             5.7195+-0.0203    !    20.1591+-0.0641    !    38.5437+-0.0333       ! definitely 6.7391x slower

                                            TipOfTree                 LLInt                   OldInt              OldInt v. TipOfTree    
V8:
   crypto                               120.1883+-0.5165    !  1037.6748+-3.7260    !  2807.2836+-3.1412       ! definitely 23.3574x slower
   deltablue                            226.1341+-0.6206    !  2734.4194+-28.1251   ^  2493.4806+-10.8510      ! definitely 11.0266x slower
   earley-boyer                         143.4873+-1.6203    !   466.2559+-3.5907    !   789.9330+-4.2703       ! definitely 5.5052x slower
   raytrace                              68.8719+-0.2381    !   303.0984+-1.9271    !   353.9877+-5.8820       ! definitely 5.1398x slower
   regexp                               129.1626+-0.3948    !   162.7258+-0.5501    !  1202.7013+-13.1267      ! definitely 9.3115x slower
   richards                             240.3431+-1.1474    !  2640.3920+-12.0460   !  2896.8581+-5.3771       ! definitely 12.0530x slower
   splay                                120.6794+-1.3454    !   246.4478+-1.9810    !   289.9561+-8.3939       ! definitely 2.4027x slower

   <arithmetic>                         149.8381+-0.3944    !  1084.4306+-4.6843    !  1547.7429+-3.4411       ! definitely 10.3294x slower
   <geometric> *                        139.0662+-0.3535    !   636.7670+-2.0252    !  1102.1020+-4.9534       ! definitely 7.9250x slower
   <harmonic>                           128.6159+-0.2863    !   403.3166+-1.4094    !   738.4358+-7.3911       ! definitely 5.7414x slower

                                            TipOfTree                 LLInt                   OldInt              OldInt v. TipOfTree    
Kraken:
   ai-astar                             986.4699+-1.5020    !  5711.2708+-1.5013    ^  5656.3493+-4.4791       ! definitely 5.7339x slower
   audio-beat-detection                 300.4027+-2.5656    !  1544.7168+-1.8202    !  3461.4428+-8.8822       ! definitely 11.5227x slower
   audio-dft                            449.7360+-2.2174    !  1563.2987+-14.5969   !  2986.4066+-8.7263       ! definitely 6.6404x slower
   audio-fft                            188.6152+-0.6885    !  1491.1198+-2.0865    !  3378.8465+-4.2707       ! definitely 17.9140x slower
   audio-oscillator                     531.0049+-1.3694    !  1119.1909+-1.2375    !  2355.1291+-46.6195      ! definitely 4.4352x slower
   imaging-darkroom                     477.9397+-5.2400    !  1952.3063+-16.5109   !  4594.1441+-9.4076       ! definitely 9.6124x slower
   imaging-desaturate                   349.4066+-0.2174    !  3459.0173+-2.5981    !  6846.5305+-2.5816       ! definitely 19.5947x slower
   imaging-gaussian-blur                804.0863+-0.3510    ! 10101.1572+-114.0651  ! 28450.3464+-137.4128     ! definitely 35.3822x slower
   json-parse-financial                  84.1573+-0.1870    ?    84.3888+-0.5073         83.9558+-0.0540       
   json-stringify-tinderbox             127.6504+-0.3823        127.5610+-0.3344    ^   126.5883+-0.5533       ^ definitely 1.0084x faster
   stanford-crypto-aes                  165.0739+-0.5711    !   668.7007+-4.0118    !  1169.5522+-2.7745       ! definitely 7.0850x slower
   stanford-crypto-ccm                  148.1637+-0.5867    !   478.2820+-0.8416    !   805.8471+-1.0524       ! definitely 5.4389x slower
   stanford-crypto-pbkdf2               304.4971+-2.9252    !  1632.6897+-1.5222    !  2874.7453+-3.3609       ! definitely 9.4410x slower
   stanford-crypto-sha256-iterative     131.1675+-1.9117    !   598.6028+-0.7485    !   938.0714+-3.1941       ! definitely 7.1517x slower

   <arithmetic> *                       360.5980+-0.3558    !  2180.8788+-7.8414    !  4551.9968+-7.8917       ! definitely 12.6235x slower
   <geometric>                          280.6399+-0.3003    !  1126.2141+-0.9497    !  1946.9019+-2.5327       ! definitely 6.9374x slower
   <harmonic>                           220.8662+-0.2670    !   474.7984+-1.2485    !   554.6496+-0.7083       ! definitely 2.5112x slower

                                            TipOfTree                 LLInt                   OldInt              OldInt v. TipOfTree    
All benchmarks:
   <arithmetic>                         134.7665+-0.1527    !   823.9669+-1.8847    !  1615.3763+-2.1290       ! definitely 11.9865x slower
   <geometric>                           33.7496+-0.0654    !   116.2493+-0.2059    !   219.0713+-0.1464       ! definitely 6.4911x slower
   <harmonic>                            10.0778+-0.0350    !    35.1643+-0.1067    !    66.2642+-0.0545       ! definitely 6.5752x slower

                                            TipOfTree                 LLInt                   OldInt              OldInt v. TipOfTree    
Geomean of preferred means:
   <scaled-result>                       77.0094+-0.1378    !   318.1832+-0.5270    !   640.2995+-0.7543       ! definitely 8.3146x slower

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