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 |