2013-03-28 4 views
7

Sto cercando di migliorare le prestazioni di jQuery e ho notato che viene eseguito più rapidamente in Chrome rispetto ad altri browser. Ha senso quando è solo una chiamata AJAX a un file PHP?

Per testarlo, sto facendo questo su un evento click:

var startTime = new Date(); 

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

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

Risultato in secondi sono:

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

Possono gli strumenti di sviluppo per accedere alla console su ogni browser interferire con questo si traduce?

Grazie.

+1

Tutti i browser hanno motori Javascript diversi e Chromes V8 è probabilmente il più veloce per questo. 0,05 secondi contano davvero, e come intendete ottimizzare la chiamata ajax comunque? – adeneo

+3

Utilizzare la scheda di rete negli strumenti di sviluppo per vedere i tempi suddivisi in diverse sezioni: 'Ricerca DNS',' Connessione', 'Invio',' Attesa', 'Ricevimento'. Credo che Firefox abbia tali misure anche in alcuni dei suoi pannelli di sviluppo. Quindi misura anche l'esecuzione dello scrip PHP sul lato server. Quindi vedrai dove si trova effettivamente la differenza. –

+0

Non sto giocando con il DOM. Ecco perché mi chiedo perché una semplice chiamata può portare a questa differenza per questa semplice porzione di codice. – Alvaro

risposta

0

penso che se lo fai:

var startTime = new Date(); 

var a=0; 

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

vedrete stessa differenza. Probabilmente si tratta solo di parser javascript diversi.

+0

JavaScript * parser *? – Bergi

+0

Sì, uccidimi per cattivo inglese. – Narek