
[Python] Why Python is Slow: Looking Under the Hood (feat. 파이썬에서 모든 것은 객체다.)
2022. 11. 22. 03:07
Python
이번 글은 아래의 글을 공부하면서 나름의 번역본을 정리한 것임을 밝힌다. (⚠️내맘대로 의역 심함 주의) Why Python is Slow: Looking Under the Hood | Pythonic Perambulations So Why Use Python?¶ Given this inherent inefficiency, why would we even think about using Python? Well, it comes down to this: Dynamic typing makes Python easier to use than C. It's extremely flexible and forgiving, this flexibility leads to efficient use jakevdp.github..

[Python] GIL(Global Interpreter Lock)이란?
2022. 11. 21. 08:44
Python
오늘은 파이썬에서 멀티스레딩을 구현할 때 지나칠 수 없는 주제인 GIL에 대해서 알아보려고 한다. GIL이 적용된 이유를 정확하게 이해하기 위해서는 파이썬의 Garbage Collection과 Reference Counting에 대한 공부도 필요한데, 이 개념은 이후에 다른 포스트에서 정리하려고 한다. GIL(Global Interpreter Lock)이란 프로그래밍 언어의 인터프리터에서 스레드 실행을 동기화하기 위해, 한번에 하나의 스레드만 실행할 수 있도록 하는 메커니즘을 말하며, 파이썬의 기본 인터프리터인 CPython이 GIL을 사용한다. Python wiki 에서는 GIL을 다음과 같이 설명하고 있다. In CPython, the global interpreter lock, or GIL, is ..

[Python] 파이썬에서의 비동기 이해하기 (feat. asyncio)
2022. 11. 16. 02:29
Python
이번 글에서는 async/await의 동작을 이해하고, 파이썬에서 비동기가 어떤 방식으로 동작하는지 asyncio를 통해 이야기해보려 한다. 먼저 이번 글에서 asyncio의 동작 원리에 대한 부분은 아래 블로그의 도움을 정말 많이 받았다.(필사하며 공부하는 느낌😁) 시간날 때 원본을 읽어보는 것을 추천! [Python] 비동기 프로그래밍 동작 원리 (asyncio) JavaScript와 달리 Python은 비동기 프로그래밍에 어색하다. 애초에 JavaScript는 비동기 방식으로 동작하도록 설계된 언어인 반면, Python은 동기 방식으로 동작하도록 설계된 언어이기 때문이다. 그래 it-eldorado.tistory.com Asyncio란 async/awiat 구문을 사용하여 파이썬에서 concurre..