Importazione singola in un file di grandi dimensioni rispetto a più importazioni in file più piccoli. [Golang]

3

Sono sicuro che la gente di Google ha lavorato a lungo e duramente per garantire che il programmatore non si dovesse preoccupare di dettagli come questo, ma sono curioso.

In Go se ho più file nello stesso pacchetto, ma importano tutti lo stesso file, è più o meno efficiente per il compilatore di un file di grandi dimensioni con una singola importazione? O non importa nel minimo?

    
posta Adam 01.05.2015 - 11:48
fonte

1 risposta

2

Non importa.

Separare un pacchetto in più file sorgente è qualcosa per te, per organizzare meglio il tuo codice. Ma per il compilatore Go non ha importanza. Se hai un identificatore non esportato in un file sorgente, puoi usarlo nell'altro file sorgente (stesso pacchetto ovviamente) senza alcun preavviso (come import ). Ciò che conta è che il tuo pacchetto abbia una dipendenza dall'altro pacchetto.

Si noti che influenza l'efficienza della compilazione nel minimo modo: il compilatore dovrà elaborare più file, creare più strutture di dati interne (richieste solo per la compilazione), elaborare le stesse sezioni (ad esempio import ) più volte. Ma questo non dovrebbe mai influire sul tuo giudizio di scegliere 1 file su più punti. Solo alcuni numeri inventati per aiutarti a comprenderlo: importa se il tuo pacchetto con 1 file sorgente viene compilato in 100 ms o richiede 100,1 ms se è suddiviso in 5 file? No, ovviamente.

Andando oltre, il tempo di compilazione non dovrebbe essere un fattore anche se è molto più grande (come 1 sec vs 2 sec). Il tempo di compilazione e l'efficienza del tempo di esecuzione sono 2 cose diverse, il secondo è quello che dovrebbe interessarti.

    
risposta data 13.08.2015 - 10:59
fonte

Leggi altre domande sui tag