2010-06-10 5 views
2

파이썬 (또는 PHP)과 같은 스크립팅 언어에서는 .net이나 java와 같은 바이트 코드로 컴파일되지 않습니다.파이썬 (django) 요청은 정확히 어떻게 발생합니까? 모든 코드베이스를 다시 채워야합니까?

이렇게 모든 요청에 ​​대해 전체 응용 프로그램을 분석하고 컴파일해야합니다. 또는 적어도 주어진 호출 스택에 필요한 모든 코드?

+1

실제로 파이썬과 PHP는 모두 바이트 컴파일됩니다. 파이썬은 바이트 코드를 영속적으로 만든다 (그 곳의 .pyc와 .pyo 파일). –

+0

"django"태그를 질문에 추가하십시오. –

답변

5

이 상황은 .NET이나 자바처럼 바이트 코드 을 컴파일되지 않습니다.

잘못된 : 파이썬에서 import 바이트 코드로 컴파일 (당신이 가져 오는 소스가 들어있는 디렉토리에 기록 할 수있는 경우 .pyc 파일로 저장됩니다 모든 것을 당신에게 - & C는 일반적으로 미리 컴파일 된 표준 라이브러리를 따라 물론 설치 선택 사항). 메인 스크립트를 짧고 단순하게 유지하면 (모듈을 가져오고 함수를 호출하면) 컴파일 된 바이트 코드를 처음부터 끝까지 사용할 수 있습니다. (Python의 컴파일러는 상당히 빠르도록 설계되었습니다 - 합리적인 최적화를 많이하지 않는다는 것을 포함하여 함축적으로 말입니다 -하지만 피하는 것이 더 빠릅니다 ;-).

3

CGI로 실행할 때 예를 들어, 요청마다 전체 프로젝트를로드해야합니다. FastCGI 및 mod_wsgi는 프로젝트를 메모리에 보관하고 소켓을 통해 프로젝트와 통신합니다.

파이썬 (또는 PHP)와 같은 스크립트 언어와