gets vs read 대용량 파일 테스트

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

사용된 Tcltk코드는 위 링크와 동일하며,
파일에 대한 정보는 숫자 1~1억까지를 기록한 파일이며, 용량은 847.71MB입니다.

read(평균266초), gets(95초)로 gets가 2.8배정도 더 빠른것을 확인 할 수 있었으며,
시스템 자원 사용 현황입니다
read = CPU 10~35%가량 사용, 8Gb메모리 풀 사용 + swap메모리 4Gb추가 사용
gets = CPU 100% 사용

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

ps.)
array vs dict의 성능 테스트를 시도 하려고 했으나 이미 테스트한 자료가 있어서 아래 링크를 참조하세요.
http://wiki.tcl.tk/13826