2013-03-28 13 views
7

Próbuję poprawić wydajność jQuery i zauważyłem, że działa szybciej w Chrome niż w innych przeglądarkach. Czy ma sens, gdy jest to po prostu wywołanie AJAX do pliku PHP?

W celu jej przetestowania, robię to na razie click:

var startTime = new Date(); 

$.post("http://"+ document.domain + "action.json", { data: data}, 
    function(dat){ 

     console.log('ending: ', (new Date() - startTime)/1000); 
    } 
}); 

Wynik w sekundach są:

  • Chrome 25: 0,148
  • Firefox 19.0. 2: 0.212
  • Internet Explorer 9: 0,272
  • Opera 12.14: 0,219

Czy narzędzia programistyczne, aby uzyskać dostęp do konsoli na każdej przeglądarce ingerować w to powoduje?

Dzięki.

+1

Wszystkie przeglądarki mają różne silniki JavaScript, a Chromes V8 jest prawdopodobnie najszybszy. Czy 0.05 sekund naprawdę ma znaczenie i jak zamierzasz zoptymalizować wywołanie ajax? – adeneo

+3

Użyj karty sieciowej w narzędziach programisty, aby zobaczyć czas w podziale na różne sekcje: 'Wyszukiwanie DNS',' Łączenie', 'Wysyłanie',' Czekanie', 'Odbieranie'. Wierzę, że Firefox ma takie pomiary również w niektórych panelach deweloperskich. Następnie zmierz wykonanie skryptu PHP również po stronie serwera. Wtedy zobaczysz, gdzie faktycznie jest różnica. –

+0

Nie gram z DOM. Dlatego zastanawiam się, dlaczego proste połączenie może spowodować tę różnicę dla tej prostej części kodu. – Alvaro

Odpowiedz

0

myślę, że jeśli zrobić:

var startTime = new Date(); 

var a=0; 

for(i=0;i<50000;i++){ 
    a++; 
} 
console.log('ending: ', (new Date() - startTime)/1000); 

widać samą różnicę. Prawdopodobnie to po prostu różne parsery javascript.

+0

JavaScript * parser *? – Bergi

+0

Tak, zabij mnie za zły angielski. – Narek

Powiązane problemy