본문으로 바로가기

gets vs read 대용량 파일 테스트

category Tcl & Tk/팁 (Tip) 2025. 3. 26. 16:50

katie34님이 제공해 주신 팁입니다.


안녕하세요. 파일을 행단위로 읽기 위해 주로 사용되는 gets와 read의 성능 테스트를 해봤습니다. 대용량 파일이라 그런가 결과는 사실 많이 놀라웠습니다. read + foreach, 즉, read의 메모리 사용과 foreach의 빠른 Loop로 인해 read가 더 우세할 것이라 생각했는데, 제 예상과 크게 달랐습니다.

 

파일에 대한 정보는 숫자 1~1억까지를 기록한 파일이며, 용량은 847.71MB입니다.

read(평균 266초), gets(95초)로 gets가 2.8배 정도 더 빠른 것을 확인할 수 있었으며, 시스템 자원 사용 현황입니다

  • read = CPU 10~35%가량 사용, 8Gb 메모리 풀 사용 + swap메모리 4Gb 추가 사용
  • gets = CPU 100% 사용

swap메모리까지 사용해서 그런건지 메모리 용량을 크게 사용하시는 분이 있으시면 테스트해 보시면 좋을 것 같습니다

'Tcl & Tk > 팁 (Tip)' 카테고리의 다른 글

NORMDIST, TRUNC, ROUND 함수 구현  (0) 2025.03.26
BLT의 barchart에 원 그리기  (0) 2025.03.26
반복문 별 소요 시간 테스트  (0) 2025.03.26
그라디언트 구현하기  (0) 2025.03.26
Tcl로 구현한 텔넷 서버  (0) 2025.03.26