2012-02-28 31 views
6

Chúng ta có thể viết một đoạn mã python và đặt nó vào tập tin ".pyc" đã biên dịch và sử dụng nó. Tôi tự hỏi rằng có bất kỳ loại đạt được về hiệu suất hoặc nó chỉ là một loại mô-đun cách nhóm các mã.là có bất kỳ loại hiệu suất đạt được trong khi sử dụng các tập tin .pyc trong python?

Thanks a lot

+1

bản sao có thể có của [Nếu Python được diễn giải, tệp .pyc là gì?] (Http://stackoverflow.com/questions/2998215/if-python-is-interpreted-what-are-pyc-files) – pmr

Trả lời

7

Không đạt được hiệu suất trong quá trình của chương trình. Nó chỉ cải thiện thời gian khởi động.

Chương trình không chạy nhanh hơn khi được đọc từ tệp ‘.pyc’ ​​hoặc ‘.pyo’ hơn khi được đọc từ tệp ‘.py’; điều duy nhất nhanh hơn về các tệp ‘.pyc’ ​​hoặc ‘.pyo’ là tốc độ mà chúng tải .

http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html

Và pyo file là tối ưu hóa tiếp theo chỉ cần loại bỏ chuỗi doc từ mã của bạn.

+2

. các tệp pyo có các câu lệnh khẳng định bị loại bỏ (và khả năng tối ưu hóa khác) nhưng có thể không có các chuỗi tài liệu bị loại bỏ; nó phụ thuộc vào việc bạn sử dụng '-O' hay '-OO'. –

+0

Phải, cảm ơn. Có những tuyên bố khẳng định của nó, và nó phụ thuộc vào mức độ tối ưu bạn vượt qua. Nhìn chung, mặc dù nó vẫn là một cải tiến thời gian chạy tối thiểu. – jdi

+1

ok vì vậy khoảng cách perf trong thời gian khởi động là gì? – ealeon

1

Tôi không chắc chắn về các tập tin pyc (tăng rất nhỏ là ít nhất là không tạo pyc file một lần nữa), nhưng có một '-O' cờ cho thông dịch Python trong đó sản xuất được tối ưu hóa bytecode (tệp .pyo).

0

Bạn sẽ nhận được phần nhỏ trong một giây, thời gian chạy Python sẽ phân tích cú pháp và biên dịch nguồn thành bytecode, chỉ xảy ra khi chạy/nhập lần đầu.

Bạn sẽ mất tính di động.

Xem here.

Chương trình không chạy nhanh hơn khi được đọc từ tệp ‘.pyc’ ​​hoặc ‘.pyo’ hơn khi được đọc từ tệp ‘.py’; điều duy nhất nhanh hơn về các tệp ‘.pyc’ ​​hoặc ‘.pyo’ là tốc độ mà chúng tải .

0

Có, đơn giản vì lần đầu tiên bạn thực thi tệp .py, tệp được biên dịch thành tệp .pyc. Vì vậy, về cơ bản bạn phải thêm thời gian biên dịch. Sau đó, tệp .pyc phải luôn được sử dụng.

0

Dựa trên câu trả lời được chấp nhận của câu hỏi này: Why are main runnable Python scripts not compiled to pyc files like modules?.

Khi mô-đun được tải, tệp py được "biên dịch byte" thành tệp pyc. Dấu thời gian được ghi trong tệp pyc. Điều này được thực hiện để không làm cho nó hoạt động nhanh hơn nhưng để tải nhanh hơn

Các vấn đề liên quan