Hybrid
-
[Python] import vs runtime개발/Python 2022. 9. 26. 16:39
Python은 Hybrid 언어로 Interpreter를 이용한 Compile이 동작(import time)하고 난 뒤 Runtime이 동작하게 됩니다. import time import time 시 python 파일의 소스코드를 위에서부터 파싱 및 실행을 위한 Byte code를 만들어줍니다. 즉, 파일 내의 Function과 Class method를 제외한 코드들을 실행합니다. Interpreter 영역 runtime 모든 Code가 실행되는 순간 import time vs runtime 이 때 Import와 runtime에 대한 이해가 없다면, 에러를 마주 할 수 있습니다. 아래 코드에서 어떤 동작 결과가 예상하여 봅시다. #a.py import b def function_a(): print('fu..
-
[Python] - 동작원리( Build , hybrid )개발/Python 2022. 9. 18. 23:55
Python 작업 시, 순환 참조를 하게 만들면 Garbage가 쌓이게 되고 이게 증가하다 보면 실제 사용되는 메모리에 영향을 끼쳐 OOM이 나는 경우가 발생합니다. 이 때문에 Gabage Collection의 동작원리를 파헤치기 위해 어떻게 동작하는지 부터 정리해보려고 합니다. Python의 문법과 Compiler 전공 수업을 들은 바가 있기 때문에 상세한 내용은 생략하고 진행하겠습니다. 1. Build란? 컴퓨터가 실행 가능한 파일로 만드는 것을 Build라고 합니다. 컴퓨터는 0과 1만 이해 할 수 있습니다. 우리가 작성하는 코드(Python, C, Java, Ruby .. ) 과 같은 언어는 고급언어로 컴퓨터가 이해 할 수 있는 기계어로 변경해주는 과정을 말합니다. 일반적으로 Build하는 과정을..