2010-12-12 11 views
6

Mi stavo chiedendo, gli spazi bianchi e i commenti rallentano JavaScript? Sto facendo un attacco di forza bruta che richiede un po 'di tempo (30 secondi). Rimuovere gli spazi bianchi non mostra una crescita significativa della velocità, ma penso che il browser debba solo analizzare di più.Gli spazi/i commenti rallentano Javascript?

Quindi, è utile rimuovere spazi bianchi e commenti per accelerare l'intero processo?

+0

Idealmente, javascript deve essere compresso negli ambienti di produzione. Quindi la risposta è sì, è utile. –

+0

Ho dimenticato di dire che non sarà su un sito web né recuperato molto spesso; in effetti, ho solo bisogno di eseguire determinati algoritmi solo poche volte per calcolare da solo. Quindi la larghezza di banda non è proprio ciò di cui sto parlando. – pimvdb

+0

@Sergey: questo non è vero. I commenti e gli spazi bianchi hanno avuto un effetto trascurabile sulle prestazioni anche prima di browser moderni con compilatore JIT integrato. –

risposta

10

Le persone di solito usano i minimizzatori per ridurre il SIZE dello script, per migliorare la velocità di download, piuttosto che fare la differenza nella velocità di analisi dello script.

Gli spazi bianchi ei commenti avranno scarso effetto sul tempo di esecuzione del browser, poiché il parser deve verificare se si tratta di spazi vuoti o un commento, ma in realtà questo sarà così minuto con la corrente potenza di calcolo, sarebbe impossibile notare alcun impatto.

SIZE tuttavia è ancora importante anche con la grande larghezza di banda disponibile nel nostro mondo a banda larga.

+0

Vedo, quindi lo terrò allora. Minificare ogni volta richiederà molto più tempo, e non sto pubblicando i miei algoritmi online in ogni caso. – pimvdb

+0

Puoi approfondire cosa significa ridurre il SIZE di uno script? Intendi il numero di personaggi? – Squirrl

+0

sì, Dimensione == byte di dati, quindi può approssimativamente equivalere al numero di caratteri. – Codemwnci

3

Gli spazi bianchi e commenti aumentano le dimensioni del file JavaScript, che rallenta il download effettivo del file dal server - min. è il processo di rimozione di caratteri non necessari da un file JavaScript per renderlo più piccolo e più facile da scaricare .

Tuttavia, poiché si menziona un attacco di forza bruta, il collo di bottiglia è probabilmente non il download. Prova a utilizzare un profiler per trovare ciò che rallenta.

3

C'è sempre un punto in minifying, combinando e gzipping delle risorse, per facilitare il carico del server.

  • Minimare è l'atto a cui si fa riferimento, di rimuovere spazi bianchi e commenti non necessari, per ridurre la velocità di download.
  • La combinazione probabilmente mostrerà un aumento ancora maggiore della velocità di rendering della pagina; è l'atto di unire tutti i file javascript in uno, e tutti i file css in uno (può anche essere fatto per la maggior parte delle immagini, ma questo richiede un po 'più di lavoro). Questo è fatto per ridurre la quantità di richieste che il browser deve fare verso il tuo server, per poter visualizzare la pagina.
  • GZipping è l'atto di comprimere ulteriormente i dati, in un formato compresso, per i browser che indicano che accetteranno tali dati. Questo riduce ulteriormente le dimensioni, ma aggiunge un carico di lavoro extra ad entrambe le estremità. Probabilmente vedrai un guadagno netto da esso.

A seconda dell'ambiente in cui stai lavorando, ci sono diversi componenti che ti aiuteranno in questo, che di solito copre tutto quanto sopra in una volta.

L'ora che il tuo codice impiega per scaricare dal server ha un effetto diretto sulla durata della pagina per il rendering. JavaScript sta bloccando, il che significa che un blocco JS impedirà il rendering di furhter, fino a quando il blocco non sarà interamente eseguito. Come tale, dove si inseriscono i file javascript (ad es. In quale punto del processo di rendering verranno richiesti), quante richieste richiede il suo completo download e quanti dati ci sono da scaricare, avranno un impatto sulla tua pagina di caricamento, come appare all'utente.

Una volta che il browser ha analizzato il codice, sia javascript, css o html, avrà creato rappresentazioni interne della parte di cui ha bisogno per continuare a ricordare e la formattazione effettiva non avrà più effetto.

+0

Grazie, mi hai insegnato alcune cose molto utili qui. Tuttavia, il mio caso non ha nulla a che fare con i server, dato che lo sto eseguendo localmente. Terrò questo in mente in futuro, è davvero d'aiuto. – pimvdb

+0

Sì, per le distribuzioni locali si può tranquillamente ignorare questo. Se finirai per fare qualcosa del genere, vorrai trovare uno strumento che lo automatizzi per te. Attenzione, quando inizi a usarlo in produzione, vorrai anche usarlo localmente. Non a causa dei vantaggi della velocità locale, ma perché si desidera che l'ambiente di sviluppo corrisponda il più possibile all'ambiente di produzione. Questa è una domanda completamente diversa, quindi :) –

0

Ha poco o nessun impatto sulla velocità di elaborazione reale, tuttavia ...

Smaller size => meno larghezza di banda => meno costi => ??? => profitto!

1

Non penso che gli spazi in js-code rallentino l'esecuzione di esso. Per quanto ne so, un interprete javascript rimuove tutti i commenti e gli spazi bianchi ridondanti prima dell'elaborazione. Può influenzare il tempo di download e quindi il tempo di caricamento di una pagina web.

Dai un'occhiata a here per un po 'di informazioni extra.

+0

Se ciò è vero, non penso che dovrò preoccuparmene affatto. Grazie per il link. – pimvdb

Problemi correlati