안녕하세요. 이번 포스팅은 Python의 threading과 psutil을 사용해서 함수실행중의 메모리 사용량을 측정하는 방법에 대해서 다룹니다. 1. psutilpsutil은 Python의 패키지중 하나로, Python System and ProcessUtilities의 약자입니다. 해당 패키지를 이용하면 컴퓨터의 CPU, 메모리, 디스크, 네트워크 사용량 등을 체크할 수가 있습니다. 이번 포스팅에서는 psutil의 Process를 사용합니다. Process를 사용해서 현재 Process가 사용중인 메모리를 측정합니다.import psutildef memory_usage(): p = psutil.Process() rss = p.memory_info().rss/2**20 print(f'm..
지난 포스팅 : Python의 Requests Library의 동작 Part1 에서 이어집니다. https://teus-kiwiee.tistory.com/160 Python의 Requests Library의 동작 Part1 지난 포스팅을 통해서, Socket Programming을 사용하면 Server Client 간 HTTP 통신이 가능한 것을 확인 하였습니다. https://teus-kiwiee.tistory.com/159 Socket을 이용한 Low Level HTTP 통신 요즘은 많은 분.. teus-kiwiee.tistory.com 지난 포스팅까지 해서 HTTPAdapter Class에 대해서 확인하는 과정에서 urllib3이 나왔고, Requests Package를 벗어나는 영역이라 2번째 P..
지난 포스팅을 통해서, Socket Programming을 사용하면 ServerClient 간 HTTP 통신이 가능한 것을 확인 하였습니다. https://teus-kiwiee.tistory.com/159 Socket을 이용한 Low Level HTTP 통신 요즘은 많은 분들이 Django나 Flask, Spring등의 웹프래임워크를 사용해서 손쉽게 Web App을 제작할 수 있습니다. 일반적으로 이 프래임워크 내에서는 Requests라는 라이브러리를 지원하며, 이 라이브러 teus-kiwiee.tistory.com 하지만 의문이 듭니다. "HTTP Message를 Socket으로 보낼 수는 있지만, 라이브러리도 정말 Socket을 이용하나?" Python의 대표 RestAPI Library인 Reque..
이번 포스팅에서는 CPython의 소스코드를 통해서 Python List가 어떻게 동작하는지 알아봅니다. Python List를 C언어의 Array와 사뭇 다릅니다 Python List C Array Type 무관 Type 고정 Element크기 고정 Type에 따라 변함 malloc 불필요 malloc 필요 이때, Python List의 특징을 보면 C의 Pointer Array와 상당히 비슷한 것을 볼 수 있습니다. (Pointer 특성상 고정된 크기(주소값)를 차지하고, Type은 void Pointer를 이용할경우) 그러면, 이제 Cpython 내의 PyListObject의 정의를 살펴보겠습니다. typedef struct { PyObject_VAR_HEAD /* Vector of pointers..
오늘 포스팅은 Python의 대표 Math Package중 하나인 Numpy에 대해서 다룹니다. Python을 써보시면 아시겠지만, Python List 대비 Numpy Array의 연산이 훨신 빠르다는것을 알 수 있습니다. Numpy가 왜 Native List보다 빠를 수 있는지, 하드웨어 관점을 더해서 설명합니다. 먼저 Numpy가 빠른 이유를 두줄 정리하고 갑니다. - SIMD - 데이터 정렬 1. SIMD SIMD(Single Instruction Multi Data) 하나의 CPU 명령어로 두개 이상의 Data를 처리하는 방법을 의미합니다. 하지만 빠른 계산은 조상님이 해주는게 아닙니다. CPU의 동작을 한번 생각해보겠습니다. 레지스터에는 하나에 하나의 32비트 2진수를 담을 수가 있습니다(Ge..
Python을 사용하다보면, 편합니다. 정말로 편합니다. 하지만 컴퓨터과학을 전공한 입장에서, "이렇게 편해도 되나?" 싶을때가 가끔 있습니다. 편한건 좋지만, 어떻게 작동하는지를 알아야 하는 맘이 듭니다. 이번 포스팅은 Python의 함수/패키지의 Detail을 확인하는 방법에대한 포스팅입니다. 가장 먼저, Python의 기본 함수를 확인하는 방법입니다.docs.python.org/ko/3/library/index.html 파이썬 표준 라이브러리 — Python 3.9.2 문서파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합docs.python.org파이썬은 오픈소스 언어..
- Total
- Today
- Yesterday
- Greedy알고리즘
- Search알고리즘
- 완전탐색 알고리즘
- heap
- 자료구조
- 사칙연산
- 이분탐색
- GDC
- stack
- 동적계획법
- git
- hash
- 컴퓨터그래픽스
- Python
- 알고리즘
- SIMD
- 병렬처리
- prime number
- C++
- 프로그래머스
- 분할정복
- AVX
- 코딩테스트
- Sort알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |