profile image

L o a d i n g . . .

article thumbnail image
Published 2024. 9. 6. 17:23

버퍼를 사용하는 이유

 

https://beastit.tistory.com/20

CPU는 1초에 100개의 데이터를 처리할 수 있지만, 보조 기억 장치는 데이터를 1초에 3개 밖에 보내주지 않는다.

CPU는 일을 하고 싶어도 못하므로 효율이 떨어진다.

 

https://beastit.tistory.com/20

  1. CPU와 보조 기억 장치 사이에 버퍼를 두게 되면
  2. CPU는 버퍼에 데이터를 보내놓고 다른 할일을 하면 되고
  3. 보조 기억 장치 입장에선 다른 할일을 찾아 처리하다가
  4. 버퍼에 데이터가 어느정도 쌓이면 한꺼번에 가져와서 처리할 수 있으므로 효율이 높아진다.

버퍼 (Buffer) 란?

두 개의 장치 사이에서 데이터를 전송할 때, 데이터의 전송 속도나 처리 속도의 차이를 완화하는 목적으로 사용하는 기억장치

 

1. 캐시 또한 버퍼의 한 종류
2.캐시와 버퍼의 차이: 데이터 사용 후에 폐기하냐 안 하냐의 차이
3. 캐시는 한 번 접했던 데이터를 다시 접근할 때, 굳이 속도가 느린 장치에 액세스 하지 않고 빠르게 가져옴
4. 버퍼는 애초에 데이터를 가져올 때, 속도가 느린 장치로 인해서 속도가 빠른 장치가 일을 쉬는 것을 방지하여 더 빠르고 안정적인 퍼포먼스를 내게 함

 


버퍼의 동작

https://www.tcpschool.com/c/c_io_console

 

버퍼의 장점

  1. 문자를 하나씩 전달하는 것이 아니라 묶어서 한 번에 전달하므로, 전송 시간이 적게 걸려 성능 향상 됨
  2. 사용자가 문자를 잘못 입력했을 경우, 수정 가능

그렇지만 빠른 반응이 요구되는 게임과 같은 프로그램에서는 키를 누르는 즉시 바로 전달되어야 함

 


출처

1. https://velog.io/@kkimbj18/%EB%B2%84%ED%8D%BC%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0-Feat.-BufferedReader-vs-Scanner-cache

2. https://ontheway.tistory.com/52

3. https://www.tcpschool.com/c/c_io_console

4. https://beastit.tistory.com/20

'TIL' 카테고리의 다른 글

[TIL] UI vs API  (0) 2024.09.08
[TIL/SQL] varchar와 nvarchar의 차이  (1) 2024.09.01
[TIL/SQL] UINON, UNION ALL, JOIN, INNER JOIN, LEFT OUTER JOIN  (0) 2024.08.27
복사했습니다!