2013-07-03 17 views
5

Jestem nowy w Pythonie i napisałem kilka skryptów wiersza poleceń, aby wykonać pewne obliczenia. W Perlu pamiętam użycie PersistantPerl do przyspieszenia skryptów Perla przez ich ciągłe uruchamianie.W jaki sposób mogę uruchamiać skrypty w języku Python?

Pomyśl o tym jak o FastCGI, ale o skryptach wiersza poleceń. PersistantPerl zawsze utrzymuje kopię tłumacza, a następnie tło, więc za każdym razem, gdy skrypt jest uruchamiany, naliczane są kary startowe.

Czy istnieje odpowiednik narzędzia w Pythonie lub czy istnieją inne strategie pozwalające uniknąć płacenia kary startowej za częste uruchamianie tego samego skryptu Python.

PersistenPerl

UPDATE:

Ktoś wydaje się natknął z tej samej idei:

Reducing the Python startup time

Ale wygląda bardziej jak hack niż kompletne rozwiązanie. Jakieś moduły, które mogą to zrobić?

+0

Czy mierzyć "kara startowy"? Czy to wpływa na twoją pracę? –

+0

Nigdy nie słyszałem o takiej funkcji dla interpretera Pythona; prawdopodobnie wpływ tego nie jest wystarczająco duży, aby uzasadnić wysiłek. Dzisiejsze systemy operacyjne utrzymują pliki binarne plików wykonywalnych w pamięci (chyba że nie masz wystarczającej ilości pamięci RAM). – Alfe

Odpowiedz

3

Jedną z rzeczy, która może mieć większy wpływ niż utrzymanie interpretera w języku Python (jeśli to możliwe) jest upewnienie się, że Python nie musi kompilować skryptu za każdym razem, gdy go uruchomi.

Najprostszym sposobem na osiągnięcie tego celu jest posiadanie małego skryptu startowego, który zawiera rzeczywisty skrypt. Zaimportowane skrypty są zapisywane jako pliki prekompilowane .pyc, a zatem mogą być ponownie uruchamiane szybciej (jeśli chodzi o czas uruchamiania).

+0

Brzmi interesująco. Dam temu szansę. – GeneQ

+0

@GeneQ Wypróbuj [to pytanie] (http://stackoverflow.com/questions/12339671/how-to-compile-python-script-to-binary-executable). Proszę opublikować wyniki. Chciałbym również wiedzieć, która metoda jest obecnie najlepsza. Zamierzałem zadać to samo pytanie. –

Powiązane problemy