[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