Przeglądarki a wydajność JavaScript

Obecnie coraz więcej stron tworzonych jest w duchu Web 2.0.Oznacza to duże wykorzystanie technologii AJAX a tym samym skryptówJavaScript. Ich wydajność staje się więc bardzo ważnym czynnikiemwpływającym na komfort przeglądania stron internetowych. JeffAtwood postanowił przyjrzeć się jak z JavaScriptem radzą sobiepopularne przeglądarki. W tym celu wykorzystał benchmark SunSpider, który testuje wydajnośćw następujących obszarach: obliczenia przygotowujące dane dlarenderingu 3D, dostęp do danych, operacje bitowe, kontrolaprzepływu (warunki, pętle, rekurencja), kryptografia, przetwarzaniedat, różne obliczenia matematyczne, wyrażenia regularne, operacjena łańcuchach znaków. Testowi zostały poddane przeglądarki: Opera9.5, Safari 3.0.4, Internet Explorer 7 oraz Firefox 2. Komputertestowy działał pod 32-bitową wersją systemu Windows Vista,wyposażony był w procesor Intel Core 2 Duo 3.0 GHz oraz 4 GB RAMu.Nie instalowano żadnych pluginów. Wyniki okazały się być interesujące. W teście musiano użyć wersjibeta przeglądarki Opera ponieważ wersja stabilna zwracała wartościNaN (not a number). Pomijając ten problem Opera spisała sięnajlepiej (5,4 s). Drugie było Safari, które było niewiele gorsze(6,6 s). Należy tu pamiętać, że Safari działało tu poza swoimnatywnym środowiskiem jakim jest OS X, dlatego tym bardziej wyniknależy uznać za całkiem dobry. Dużo gorzej wypadł Firefox zwynikiem 10,5 sekundy. Na ostatnim miejscu wylądował InternetExplorer 7 kończąc test w czasie 21,2 sekundy. Zostało to jednakspowodowane dziwnie długim przetwarzaniem łańcuchów znaków, którezajęło mu większość czasu. Gdyby IE wykonał to zadanie w czasiezbliżonym do pozostałych przeglądarek okazałby się lepszy odFirefoksa, który zająłby ostatnie miejsce. Z bloga jednego z programistów z grupy JScriptwynika, że Microsoft z powodzeniem pracuje nad rozwiązaniemproblemu. Atwood poddał później testowi także betę Firefoksa 3,który okazał się być znacznie szybszy od wersji 2. Testprzeprowadzono na innej maszynie niż opisana powyżej. Dostępne testy to: 3d-sube, 3d-morph, 3d-raytrace, access-binary-trees, access-fannkuch, access-nbody, access-nsieve, bitops-3bit-bits-in-byte, bitops-bits-in-byte, bitops-bitwise-and, bitops-nsieve-bits, controlflow-recursive, crypto-aes, crypto-md5, crypto-sha1, date-format-tofte, date-format-xparb, math-cordic, math-partial-sums, math-spectral-norm, regexp-dna, string-base64, string-fasta, string-tagcloud, string-unpack-code, string-validate-input.

Grzegorz Niemirowski

23.12.2007 07:15

Źródło artykułu:www.dobreprogramy.pl
Wybrane dla Ciebie
Komentarze (88)