2

일부 유형의 런타임 컴파일이 성능에 영향을 미치지 않는다고 들었습니다. 공식적인 Python 문서에서는 .pyc 파일을 실행하는 것이 .py보다 빠르다고 주장합니다. (지금 당장 링크를 찾을 수 없습니다.) 어떻게 가능합니까? .py에서 바이트 코드를 생성하는 데 시간이 걸리지 않습니까?런타임 컴파일 : 어떻게하면 성능이 저하되지 않을 수 있습니까?

PHP와 같은 언어는 어떻게됩니까? 매 실행마다 컴파일 할 필요가 없습니까? 왜 이걸 원하니? 같은 스크립트가 여러 번 실행되는 경우 시간 낭비처럼 보입니다.

답변

4

읽은 실제 문서의 컨텍스트가 없으면 확실하게 말할 수는 없지만 "성능"이 의미하는 바를 오해 할 수도 있습니다.

시작시 바이트 코드로 컴파일해야하는 경우 응용 프로그램이 느리게 시작되지만 은 실행되지 않음이 느립니다. 자격이 없으면 "성능"에 대해 이야기하는 사람은 거의 시작 시간을 언급하지 않습니다.

1

파이썬은 .pyc 파일을 검사하고, 존재하지 않거나 오래된 경우 .py 파일에서 바이트 코드를 다시 생성합니다.

파일 시스템이 쓰기 가능하지 않으면 프로그램을 실행하기 전에이 단계가 여전히 RAM에서 발생합니다.

그래서 파이썬은 프로그램을 실행하면서 코드를 한 줄씩 해석하지 않습니다.

결말은 .pyc 파일이 존재하고 현재의 경우, 프로그램이 작은 조금 더 빨리 실행 시작되지만 실행 속도가 같은

이 될 것입니다
관련 문제