2009-12-03 2 views
3

매우 큰 파일을 처리 할 수있는 간단한 텍스트 뷰어를 작성할 계획입니다. 나는 이것에 대해 Tie::File을 사용하려고 생각하고 있었고, 라인을 페이지 매기기로 만들었다. 이 라인을 느리게로드하는지 또는 한 번에 모두로드합니까?Tie :: File은 파일을 느리게로드합니까?

답변

8

전체 파일을로드하지 않습니다. documentation에서 :

파일이 메모리에로드되지 않아 거대한 파일에서도 작동합니다.

+2

하지만 1830234 줄을 찾으려면 전체 파일을 해당 지점까지 읽어야합니다 (메모리에 전부는 아니더라도) – ysth

6

지금까지 보았 듯이 its source code에서 사용 된 라인 만 메모리에 저장합니다. 네, 필요한 경우에만 데이터를로드합니다.

memory 매개 변수로 사용 된 메모리 양을 제한 할 수 있습니다.

또한 디스크 액세스를 최적화하기 위해 파일의 모든 행의 오프셋을 추적합니다.

관련 문제