Notice
Recent Posts
Recent Comments
Link
코드로 우주평화
CPU 바운드와 I/O 바운드 본문
반응형
CPU 바운드
- 연산을 많이 해서 cpu가 막는 행위
- 프로그램이 실행될 때 실행 속도가 cpu 속도에 의해 제한됨을 의미함
- 정말 복잡한 수학 수식을 계산하는 경우에 컴퓨터의 실행속도가 느려진다
I/O 바운드
- I는 인풋, O는 아웃풋
- 프로그램이 실행될 때 실행 속도가 I/O에 의해 제한됨을 의미함
- 사용자가 입력을 해야 다음 단계가 진행되는 경우
- 네트워크 I/O : 컴퓨터와 컴퓨터끼리 통신을 할 때
- 블로킹 : 바운드에 의해 코드가 멈추게 되는 현상
# 실습 코드 : 구글에 요청을 반복한다면?
# pip3 install requests
import requests
def func():
result = requests.get("<https://google.com>")
return result
for i in range(10):
result = func()
print(result)
'''
요청과 응답을 기다리는 과정에서
코드가 멈추게 되는 현상을 바운드라고 한다
위의 코드는 짧긴 하지만 블로킹 10회가 일어난 것이다
'''
반응형
'나는 이렇게 학습한다 > CS' 카테고리의 다른 글
TCP와 UDP 비교 (0) | 2022.03.20 |
---|---|
메모리 단편화를 해결하는 세 가지 방법 (0) | 2022.02.09 |
동시성(병행성) vs 병렬성 (0) | 2022.01.16 |
컴퓨터 구조와 운영체제 기본 (2) | 2022.01.16 |
동기 vs 비동기 (0) | 2022.01.15 |