Odpowiedz

17

Nie

Po uruchomieniu Pythona, pierwszym krokiem jest konwersja do kodu bajtowego, czyli to, co te .pyc pliki. Komentarze są usuwane z nich, więc nie ma znaczenia *.

Jeśli używasz opcji -O lub -OO, python wygeneruje "zoptymalizowane" pliki pyo, które są pomijanie szybsze, o ile w ogóle szybsze. Główną różnicą jest to, że:

  • z -O twierdzenia są usuwane,
  • z opcją -OO, że __doc__ ciągi są usuwane na zewnątrz. Biorąc pod uwagę, że czasami są one potrzebne, nie zaleca się uruchamiania z -OO.

* to wskazano poniżej tego .pyc pliki są zapisywane tylko dla modułów. Dlatego też plik wykonywalny najwyższego poziomu musi być rekompilowany za każdym razem, gdy jest uruchamiany. Ten krok może spowolnić masywny plik pytonu o kodzie . W praktyce większość kodu powinna znajdować się w modułach, co nie stanowi problemu.

+4

... więc może to wpłynąć na Twój * czas uruchamiania *, ale nie na długoterminowy czas realizacji. W szczególności, jeśli wszystko jest prekompilowane do plików '.pyc', jest to * jednorazowy * koszt, a nie koszt jednorazowy. – larsks

+0

Wątpię, że wpłynie to znacząco na czas uruchamiania, ponieważ Python po prostu ignoruje wszystko między znakiem # a znakiem nowej linii. Ponadto pliki .pyc są zachowywane między kolejnymi uruchomieniami, jeśli plik .py nie jest modyfikowany, więc każdy efekt jest wykonywany tylko przy pierwszym uruchomieniu programu. –

+0

-1, ponieważ tylko importowane moduły są kompilowane do pliku .pyc; wykonane skrypty nie są. – geoffspear

Powiązane problemy