Il formato del codice influisce sulle prestazioni?

2

Penso di essermi imbattuto alcune volte quando ho riformattato un segmento di codice, ha funzionato nel modo in cui lo volevo diverso dall'altro segmento di codice formattato male? Il formato del codice influisce sulle prestazioni? O è un mito?

    
posta Kareem Ellaisy 02.11.2014 - 00:44
fonte

3 risposte

10

In un linguaggio compilato, qualsiasi spazio bianco superfluo, commenti o altri elementi privi di significato sintattico non sopravvive alla tokenizzazione passo della compilazione, quindi non fa alcuna differenza per il binario risultante (almeno per le parti eseguibili - alcuni compilatori potrebbero incorporare codice sorgente originale nel file binario generato per scopi di debug, ma quelle parti del file binario non sono eseguito).

Nei linguaggi puramente interpretati, l'interprete deve analizzare tutti gli spazi bianchi. Quindi la formazione può rallentare un po 'l'interprete. Ma gli interpreti più avanzati * di solito compilano il codice in memoria in una rappresentazione ottimizzata ("bytecode") prima di eseguirlo. In questo passaggio, gli spazi bianchi di solito sono anche spogliati, quindi non dovrebbe importare neanche per il runtime.

* in questo caso "più avanzato" significa "tutto ciò che useresti in un ambiente di produzione 2014".

    
risposta data 02.11.2014 - 00:47
fonte
5

Al compilatore / interprete importa pochissimo quanto sia ben formattato e / o commentato il tuo codice. Aumenta solo il tempo di analisi di una quantità molto piccola perché il parser ha più caratteri da elaborare (e in gran parte saltare).

Nella maggior parte delle lingue, il compilatore / interprete sarebbe perfettamente felice se tu presentassi il tuo codice come un'unica lunga riga senza alcun commento.

D'altra parte, per i lettori umani (compreso te tra qualche mese) fa un mondo di differenza se il codice è ben formattato, ben commentato e facilmente leggibile.
Con un codice ben scritto, di solito puoi guardarti sopra per avere un'idea di cosa sta facendo il codice. Se il codice ha una formattazione scadente o assente, è necessario prestare attenzione per comprendere il codice che richiede molto più tempo ed energia.

    
risposta data 02.11.2014 - 10:01
fonte
1

L'unica volta che penso che il formato sia importante con il codice scaricato in modo dinamico, ad esempio javascript dove enormi blocchi di commenti e / o nomi di variabili molto lunghi rallentano il download, ma anche in questo caso non influisce sul tempo di compilazione. (e il tempo di download può essere risolto riducendo al minimo il file javascript).

Per i file compilati, l'origine è solo una raccolta di simboli separati da spazi bianchi. La compilazione non si cura di come questi sono formattati, una singola riga lunga sarebbe altrettanto valida di un file sorgente ben formattato, per quanto riguarda il compilatore (ammesso che alcuni linguaggi si preoccupino, ad es. Python che si basa sulla formattazione, particolarmente nuova line indentation, ma anche questo non influenza la velocità di compilazione).

La formattazione è per le persone, non per i computer. È importante per questo motivo.

    
risposta data 06.07.2015 - 16:01
fonte

Leggi altre domande sui tag