2016-11-04 6 views
0

파이썬 해시 lib 라이브러리가 스파 스 파일을 어떻게 처리하는지 알고 싶습니다. 파일에 제로 블록이 많으면 제로 블록을 읽을 때 CPU와 메모리를 낭비하는 대신 inode 블록 맵을 스캔하고 해시를 계산하기 위해 할당 된 블록 만 읽는 것과 같은 최적화를 수행합니까?파이썬 해시 lib 및 스파 스 파일

아직 해결하지 못한 경우 직접 수행하는 것이 가장 좋습니다.

추신 :이 질문을 StackOverflow 메타에 게시하는 것이 적절한 지 모르시겠습니까?

감사합니다.

+1

여분의 파일을 스파 스 파일을 지원하지 않는 다른 파일 시스템에 복사 한 경우 (또는 블록 크기가 다르기 때문에 다른 블록 집합이 생략 됨) 심각하게 다른 해시를 갖기를 원하십니까? ? – jasonharper

답변

1

hashlib 모듈은 파일에도 작동하지 않습니다. 데이터를 읽고 해싱 객체에 블록을 전달해야하므로, 스파 스 파일을 전혀 처리하지 못할 것이라고 생각하지 않습니다.

I/O 레이어는 스파 스 파일에 특별한 기능을 수행하지 않지만 OS의 작업입니다. 파일이 희박하다는 것을 알고 있다면, "read"연산은 I/O를 할 필요가 없으며 단지 I/O가없는 0으로 버퍼를 채 웁니다.

+0

설명 주셔서 감사합니다 .. – CodeWithPride