본문 바로가기
728x90
반응형

파이썬/코딩 스타일 & 개념5

파이썬 GIL 극복을 위한 방법 파이썬에서는 Global Interpreter Lock(GIL)이라는 메커니즘으로 인해, 동시에 하나의 스레드만 파이썬 코드를 실행할 수 있습니다. 이는 멀티코어 CPU를 사용하는 경우에도, 파이썬의 병렬 처리 성능을 제한하는 요소가 됩니다. GIL을 극복하기 위해서는 다음과 같은 방법들이 있습니다. 멀티 프로세싱: 파이썬에서는 멀티 프로세싱 모듈을 통해 병렬 처리를 구현할 수 있습니다. 각 프로세스는 독립적인 GIL을 가지기 때문에, 여러 개의 프로세스를 이용하여 병렬 처리를 구현할 수 있습니다. 다만, 프로세스 간의 통신이 필요한 경우에는 추가적인 구현이 필요합니다. C extension 모듈: 파이썬의 C extension 모듈을 이용하여 GIL을 우회할 수 있습니다. C extension 모듈은 .. 2023. 3. 20.
멀티 스레드(Multi Thread) & 멀티 프로세스(Multi process) Computer Science 프로세스(Process)란? 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일. 정적인 개념 프로세스 : 프로그램이 메모리에 올라와 cpu를 할당받고 프로그램이 실행되고 있는 상태. 동적인 개념 프로세스 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올라와 실행되고 있는 독립적인 인스턴스 (개체) 운영체제로부터 시스템 자원을 할당받는 작업 단위 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가진다 프로세스는 독립된 메모리 영역 (code, data, stack, heap)을 할당 받는다. 프로세스는 별도의 주소 공간에서 실행되므로, 다른 프로세스의 주소 공간(변수, 자료구조 등)에 접근할 수 없다. 프로세스 간의 데이터 통신을 위해 IPC(inte.. 2023. 2. 9.
파이썬 언더스코어(_)에 대하여 파이썬에서 언더스코어(underscore, _)는 특별하다. 타 언어에서 언더스코어(_)는 단지 스네이크 표기법의 변수나 함수명을 위해서만 사용되어지는 반면 (물론 그렇지 않은 언어도 있다), 파이썬에서는 이 문자의 의미가 다양하다. 아마 파이썬 프로그래머라면 for _ in range(10)나 __init__(self)등의 문법들이 굉장히 익숙할 것이다. 이번 포스트에서는 이 언더스코어(_)가 언제 어떤 의미로 쓰이는지에 대해 다루어보려고 한다. 크게 기술적인 내용은 아니지만 파이썬 프로그래머로서 알아두면 좋을 것 같아 정리해보려고 한다. 파이썬에서 언더스코어(_)는 다음과 같은 상황에서 사용되는데 크게 5가지의 경우가 있다. 인터프리터(Interpreter)에서 마지막 값을 저장할 때 값을 무시하고 .. 2023. 1. 26.
파이썬 type hints 파이썬은 동적으로 입력되는(dynamically typed)언어입니다. 그래서 다음과 같은 코드도 동작이 됩니다. name = '딥러닝 마스터' name = 26 name = True 'name'변수는 1. 'string(문자열)'로 시작하여 2. 'number(숫자)'가 되고 3. 마지막엔 boolean이 됩니다. 이러한 코드는 동작이 될지는 몰라도 유저 장치에서 실행되는 도중에 발생하는 수많은 런타임 에러의 원이이 되기도 합니다. def add(a, b, c): return a + b + c add(1, 2, 3) => 6 'a', 'b', 'c'를 취하고 'a+b+c'를 리턴하는 함수가 있습니다. 사람은 그 함수를 숫자로만 불러야 한다는 것을 알지만 파이썬은 그 사실을 알지 못합니다!!! 파이썬은 .. 2023. 1. 16.
[파이썬 스킬업 #1] PEP8 스타일 가이드 핵심 정리 파이썬 코딩의 기술 정리 #1 출판사 Github >> https://github.com/gilbutITbook/080235 저자 Github >> https://github.com/bslatkin/effectivepython PEP8 스타일 가이드를 따릅시다 ! 파이썬은 코딩 스타일을 친절히 설명해주고 있습니다. 자기 멋대로 코딩해도 코드는 잘 돌아갑니다 하지만.... 다음과 같은 이유로 스타일 가이드를 지키는 것을 권장합니다. 스타일 가이드를 준수하고, 알고 있다면 어떤 코드든 접근하기 쉬워진다. 가독성이 높아지기 때문에 쉽게 이해하고 분석할 수 있다. 다른 프로그래머 혹은 오픈 소스를 활용할 때, 협력을 용이하게 해준다. 따라서, 파이썬을 무기로 사용하고자 하는 개발자라면, 언젠가 보게될 문서라고 .. 2023. 1. 5.
728x90
반응형