2009-08-05 25 views
5

Mam złożoną stronę ASP.NET, która intensywnie korzysta z jquery do manipulacji DOM (bez AJAX). Strona jest szybsza w przeglądarkach opartych na Mozilli (Firefox) w porównaniu do IE 7 lub 8.Dlaczego JQuery jest wolniejszy w IE?

Czy są jakieś funkcje, które są zoptymalizowane dla FF?

+0

W swoim pytaniu stwierdziłeś, że jest wolniejszy, więc zredagowałem tytuł, aby lepiej odzwierciedlał sedno Twojego pytania. –

Odpowiedz

8

Moc jest w javascript mechanizm przetwarzania. W przeciwieństwie do przetwarzania na serwerach (PHP, ASP.net), javascript jest stroną klienta, co oznacza, że ​​przeglądarka użytkownika musi wykonywać pracę renderowania strony. Konkurenci próbują skłonić ludzi do przejścia na przeglądarkę, ponieważ mogą szybciej przetwarzać takie rzeczy jak javascript.

To prowadzi do wszystkich przeglądarek posiadających własne silniki przetwarzania. Co prowadzi do spowolnienia niektórych przeglądarek. IE:

Program Internet Explorer nie używa mechanizmu Mozilla, więc jest znacznie wolniejszy niż Firefox. Internet Explorer jest znany jako jeden z wolniejszych silników spośród wszystkich głównych przeglądarek.

Firefox jest wolniejszy niż Chrome, który jest jednym z najlepszych silników Javascript (zmodyfikowana wersja Webkita).

Safari Uważam, że obecnie jest to najszybszy silnik renderujący.

Można zobaczyć więcej statystyk na temat tego artykułu z PCWorld i here

+2

Safari i Chrome mają ten sam silnik renderujący, webkit. Różnica dotyczy silników javascript (które różnią się od silników renderujących). – scheibk

7

Cóż, sam silnik JavaScript jest szybszy w Firefoksie, więc naturalnie rozszerzyłby się na szybszą obsługę jQuery.

 
Web Browser    Average Runtime  Relative 
-----------    ---------------  -------- 
Safari 4.0.2 (530.19.1)  169   1x (fastest) 
Chrome 2.0.172.33    349   2.1x slower 
Firefox 3.5     377   2.2x slower 
Opera 9.64 (10487)    442   2.6x slower 
IE 8.0       771   4.6x slower 

Źródło: http://celtickane.com/labs/web-browser-javascript-benchmark/

3

nie jest to, że rzeczy są zoptymalizowane dla Firefoksa, to nic, że interpreter JavaScript w Firefox silnie zoptymalizowany, podobnie jak silniki w Safari i Chrome. Microsoft zaniedbał rozwój przeglądarki, ponieważ wygrał wojnę w przeglądarce i dopiero od niedawna zaczął rozwiązywać problemy z wydajnością w IE8 z powodu utraty udziału w rynku.

Here's how things looked for jQuery on various browsers in Sept. 2008. Na pierwszym wykresie tym wysokim niebieskim paskiem, tym, który jest wyższy od wszystkich pozostałych, jest IE7. To o podsumowuje wydajność javascript w IE.

Powiązane problemy