Již delší dobu je na světě kompletní verze Acid 3 testu a narazil jsem na další zajímavý test, který je zaměřen na výkon (rychlost) JavaScript interpretru. Proto jsem se rozhodl podrobit Nejnovější beta verze prohlížečů, které se mi dostali pod ruky. Tentokrát jsem se nezaměřil pouze na Firefox a Operu, ale zkoušel jsem i Internet Explorer. Zkoušel jsem také stabilní verze. Z testů je tedy vidět, jak vývojáři pokročili od aktuální stabilní verze k nynější beta verzi.
Pro testy jsem použil ACID 3 test, pro verze, které ani v beta verzi (IE 8) neprošli ACID 2 testem také 2. verzi Acid testu. CSS 3 selector test a oproti dřívějšímu testu také SunSpider JavaScript Benchmark 0.9
Přesto, že IE 8 neprošel ani ACID 2 testem (jak Microsoft propagoval), je vidět, že na osmičce zapracovali a již je vše takřka v pořádku (viz. níže). V sedmé verzi se to ani nedalo považovat za smajlíka. V aktuální beta je na tom mnohem lépe nejen v ACID testu, ale mnohem rychleji zpracovává JavaScriptový kód.
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 4568.4ms +/- 4.0% -------------------------------------------- 3d: 552.4ms +/- 7.9% cube: 200.4ms +/- 8.4% morph: 176.8ms +/- 14.6% raytrace: 175.2ms +/- 3.3% access: 652.2ms +/- 10.0% binary-trees: 89.2ms +/- 70.6% fannkuch: 236.0ms +/- 3.7% nbody: 231.8ms +/- 23.7% nsieve: 95.2ms +/- 9.3% bitops: 431.0ms +/- 8.1% 3bit-bits-in-byte: 75.0ms +/- 12.7% bits-in-byte: 106.0ms +/- 13.9% bitwise-and: 111.0ms +/- 12.8% nsieve-bits: 139.0ms +/- 13.6% controlflow: 55.2ms +/- 12.7% recursive: 55.2ms +/- 12.7% crypto: 269.6ms +/- 12.7% aes: 98.0ms +/- 5.5% md5: 82.2ms +/- 16.2% sha1: 89.4ms +/- 20.0% date: 540.0ms +/- 2.1% format-tofte: 336.2ms +/- 3.3% format-xparb: 203.8ms +/- 4.3% math: 518.8ms +/- 5.0% cordic: 208.0ms +/- 1.9% partial-sums: 216.8ms +/- 8.2% spectral-norm: 94.0ms +/- 8.2% regexp: 361.8ms +/- 8.1% dna: 361.8ms +/- 8.1% string: 1187.4ms +/- 7.0% base64: 122.2ms +/- 5.9% fasta: 269.4ms +/- 12.7% tagcloud: 233.2ms +/- 6.4% unpack-code: 401.8ms +/- 6.6% validate-input: 160.8ms +/- 17.1%
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 8604.4ms +/- 20.6% -------------------------------------------- 3d: 785.0ms +/- 16.7% cube: 238.2ms +/- 22.6% morph: 324.2ms +/- 16.1% raytrace: 222.6ms +/- 21.4% access: 1135.8ms +/- 18.5% binary-trees: 149.6ms +/- 64.7% fannkuch: 515.2ms +/- 12.8% nbody: 223.6ms +/- 4.4% nsieve: 247.4ms +/- 21.5% bitops: 1109.0ms +/- 3.1% 3bit-bits-in-byte: 108.2ms +/- 14.0% bits-in-byte: 159.8ms +/- 9.7% bitwise-and: 534.0ms +/- 5.4% nsieve-bits: 307.0ms +/- 8.1% controlflow: 94.6ms +/- 7.0% recursive: 94.6ms +/- 7.0% crypto: 493.6ms +/- 23.8% aes: 230.2ms +/- 20.6% md5: 135.6ms +/- 24.4% sha1: 127.8ms +/- 32.1% date: 574.8ms +/- 12.7% format-tofte: 275.8ms +/- 7.6% format-xparb: 299.0ms +/- 18.1% math: 627.8ms +/- 6.6% cordic: 262.2ms +/- 7.1% partial-sums: 254.0ms +/- 11.1% spectral-norm: 111.6ms +/- 9.3% regexp: 691.4ms +/- 4.1% dna: 691.4ms +/- 4.1% string: 3092.4ms +/- 45.2% base64: 297.4ms +/- 90.5% fasta: 653.2ms +/- 77.0% tagcloud: 400.8ms +/- 31.3% unpack-code: 1526.8ms +/- 27.1% validate-input: 214.2ms +/- 43.8%
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 15721.8ms +/- 14.4% -------------------------------------------- 3d: 1875.2ms +/- 35.6% cube: 723.2ms +/- 66.0% morph: 406.0ms +/- 19.2% raytrace: 746.0ms +/- 15.1% access: 2216.8ms +/- 17.3% binary-trees: 476.6ms +/- 5.3% fannkuch: 844.6ms +/- 5.3% nbody: 569.6ms +/- 23.9% nsieve: 326.0ms +/- 54.8% bitops: 1721.6ms +/- 44.2% 3bit-bits-in-byte: 289.0ms +/- 44.3% bits-in-byte: 386.2ms +/- 63.0% bitwise-and: 679.2ms +/- 41.1% nsieve-bits: 367.2ms +/- 30.1% controlflow: 347.8ms +/- 7.9% recursive: 347.8ms +/- 7.9% crypto: 1017.0ms +/- 17.5% aes: 471.6ms +/- 30.3% md5: 276.2ms +/- 5.2% sha1: 269.2ms +/- 11.4% date: 1542.8ms +/- 9.1% format-tofte: 730.0ms +/- 4.1% format-xparb: 812.8ms +/- 14.1% math: 1470.6ms +/- 5.2% cordic: 552.0ms +/- 1.5% partial-sums: 363.4ms +/- 8.7% spectral-norm: 555.2ms +/- 6.9% regexp: 492.8ms +/- 1.9% dna: 492.8ms +/- 1.9% string: 5037.2ms +/- 1.0% base64: 2447.4ms +/- 1.0% fasta: 726.6ms +/- 2.0% tagcloud: 578.2ms +/- 5.5% unpack-code: 643.2ms +/- 2.2% validate-input: 641.8ms +/- 3.3%
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 21665.4ms +/- 1.4% -------------------------------------------- 3d: 3151.0ms +/- 7.1% cube: 889.0ms +/- 16.3% morph: 1750.2ms +/- 2.6% raytrace: 511.8ms +/- 11.9% access: 1889.0ms +/- 9.3% binary-trees: 293.2ms +/- 12.3% fannkuch: 404.6ms +/- 7.7% nbody: 906.8ms +/- 21.5% nsieve: 284.4ms +/- 5.3% bitops: 5150.0ms +/- 2.5% 3bit-bits-in-byte: 407.8ms +/- 7.7% bits-in-byte: 346.6ms +/- 7.5% bitwise-and: 4042.2ms +/- 4.5% nsieve-bits: 353.4ms +/- 12.5% controlflow: 224.6ms +/- 10.2% recursive: 224.6ms +/- 10.2% crypto: 911.6ms +/- 4.6% aes: 307.4ms +/- 7.4% md5: 312.6ms +/- 9.5% sha1: 291.6ms +/- 16.0% date: 4020.4ms +/- 4.7% format-tofte: 1784.6ms +/- 5.4% format-xparb: 2235.8ms +/- 4.4% math: 1714.4ms +/- 10.9% cordic: 661.2ms +/- 14.8% partial-sums: 704.6ms +/- 9.9% spectral-norm: 348.6ms +/- 10.0% regexp: 854.0ms +/- 5.0% dna: 854.0ms +/- 5.0% string: 3750.4ms +/- 2.6% base64: 965.6ms +/- 7.0% fasta: 721.0ms +/- 7.0% tagcloud: 619.4ms +/- 5.0% unpack-code: 1076.4ms +/- 5.8% validate-input: 368.0ms +/- 11.0%
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: NaNms +/- NaN% -------------------------------------------- 3d: 995.2ms +/- 9.9% cube: 312.2ms +/- 5.3% morph: 395.4ms +/- 13.3% raytrace: 287.6ms +/- 14.0% access: 1856.0ms +/- 18.5% binary-trees: 198.6ms +/- 33.7% fannkuch: 923.4ms +/- 18.7% nbody: 370.0ms +/- 60.2% nsieve: 364.0ms +/- 9.8% bitops: 1769.6ms +/- 12.9% 3bit-bits-in-byte: 240.2ms +/- 12.8% bits-in-byte: 433.0ms +/- 17.9% bitwise-and: 576.2ms +/- 12.5% nsieve-bits: 520.2ms +/- 19.7% controlflow: 272.2ms +/- 41.0% recursive: 272.2ms +/- 41.0% crypto: NaNms +/- NaN% aes: 320.4ms +/- 6.6% md5: NaNms +/- NaN% sha1: 259.4ms +/- 40.5% date: 332.8ms +/- 28.1% format-tofte: 0.0ms +/- -NaN% format-xparb: 332.8ms +/- 28.1% math: 545.6ms +/- 12.6% cordic: 0.0ms +/- -NaN% partial-sums: 330.2ms +/- 18.8% spectral-norm: 215.4ms +/- 7.6% regexp: 0.0ms +/- -NaN% dna: 0.0ms +/- -NaN% string: 3469.6ms +/- 4.8% base64: 354.6ms +/- 19.2% fasta: 999.8ms +/- 8.0% tagcloud: 593.4ms +/- 7.2% unpack-code: 1207.0ms +/- 12.2% validate-input: 314.8ms +/- 16.7%
============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 90479.8ms +/- 7.2% -------------------------------------------- 3d: 2733.8ms +/- 11.5% cube: 687.2ms +/- 13.0% morph: 797.4ms +/- 16.5% raytrace: 1249.2ms +/- 13.7% access: 3519.8ms +/- 22.2% binary-trees: 754.2ms +/- 4.9% fannkuch: 1216.0ms +/- 11.1% nbody: 790.8ms +/- 34.3% nsieve: 758.8ms +/- 55.9% bitops: 3159.6ms +/- 25.7% 3bit-bits-in-byte: 917.2ms +/- 61.3% bits-in-byte: 799.6ms +/- 24.2% bitwise-and: 736.8ms +/- 13.5% nsieve-bits: 706.0ms +/- 21.5% controlflow: 815.8ms +/- 7.6% recursive: 815.8ms +/- 7.6% crypto: 1966.4ms +/- 22.1% aes: 658.0ms +/- 7.6% md5: 586.2ms +/- 27.2% sha1: 722.2ms +/- 45.6% date: 1941.2ms +/- 29.9% format-tofte: 914.4ms +/- 30.6% format-xparb: 1026.8ms +/- 29.2% math: 2470.2ms +/- 23.2% cordic: 989.8ms +/- 36.0% partial-sums: 515.0ms +/- 10.7% spectral-norm: 965.4ms +/- 19.7% regexp: 496.6ms +/- 10.3% dna: 496.6ms +/- 10.3% string: 73376.4ms +/- 7.3% base64: 50344.6ms +/- 9.4% fasta: 972.0ms +/- 5.3% tagcloud: 7496.4ms +/- 5.4% unpack-code: 1121.0ms +/- 11.7% validate-input: 13442.4ms +/- 4.5%
Test | Firefox | Opera | Internet Explorer | ||||
---|---|---|---|---|---|---|---|
3.0 beta 5 | 2.0.0.12 | 9.50 beta 2 | 9.26 | 8 | 7 | ||
ACID 2 | [ano/ne] | ano | ne | ano | ano | ne | ne |
ACID 3 | úspěšných testů | 71 | 51 | 65 | 46 | 18 | 12 |
CSS 3 | úspěšných testů | 36 | 26 | 43 (100%) | 26 | 14 | 13 |
JS benchmark | [ms] | 4568,4 | 21665,4 | 8604,4 | N/A | 15721,8 | 90479,8 |
Jak je z tabulky vidět, Opera i Mozilla velmi intenzivně pracují na vývoji a mají velmi dobré výsledky. Microsoft sice pracuje na uživatelském rozhraní a výkonu prohlížeče, ale co se týče standardů postupuje velmi pomalu. Moc nevěřím, že to ve finální verzi bude lepší. Ještě sice nevyšel IE8 ale už se mluví o IE9. Lidé z Microsoftu neustále mluví o tom že se budou zaměřovat na standardy. Jestli jsem to pochopil správně, měla by IE9 tyto standardy dodržovat. V jaké míře se ukáže později. Držím jim palce.
2008-03-24 22:09:58
Myslim, ze by sa hodil aj cas realneho downloadu nejakej zlozitejsej stranky porovnat. Tak aby by sa eliminovala cache a clovek videl realny cas medzi 'Go' ............. 'Done'.2008-03-24 22:22:20
Download ovlivní pouze rychlost Vaší linky. Velmi složité stránky využívají ve velké hojnosti AJAX, tudíž jejich vykreslení závisí na rychlosti JavaScript interpretru. Z toho plyne, že rychlost načtení stránky na stejném stroji závisí na rychlosti zpracování JavaScriptu.