risposta

17

No

Quando si esegue python, il primo passo è quello di convertire in bytecode, che è ciò che quei file sono .pyc. I commenti vengono rimossi da questi, quindi non importa *.

Se si esegue l'opzione -O o -OO, python produrrà file "ottimizzati" pyo, che sono trascurabilmente più veloci, se più veloci del tutto. La differenza principale è che:

  • con -O asserzione vengono rimossi,
  • con l'opzione -OO, i __doc__ stringhe vengono eliminati. Dato che a volte sono necessari, l'esecuzione di -OO non è consigliata.

* che è stato sottolineato che sotto .pyc file vengono salvati solo per i moduli. Pertanto, l'eseguibile di livello superiore deve essere ricompilato ogni volta che viene eseguito. Questo passaggio potrebbe rallentare un massivo python eseguibile. In pratica, la maggior parte del codice dovrebbe risiedere in moduli, rendendo questo un non-problema.

+4

... quindi potrebbe avere un impatto * sull'ora di avvio *, ma non sul tempo di esecuzione a lungo termine. In particolare, se tutto è precompilato in file '.pyc', questo è un * costo * una tantum, non un costo per esecuzione. – larsks

+0

Dubito che avrà un impatto notevole sul tempo di avvio, poiché Python ignora semplicemente qualsiasi cosa tra un # e una nuova riga. Inoltre, i file .pyc vengono conservati tra le esecuzioni se il file .py non viene modificato, quindi qualsiasi effetto è solo per la prima volta che viene eseguito il programma. –

+0

-1, poiché solo i moduli importati sono compilati in .pyc; gli script eseguiti non lo sono. – geoffspear