한 디렉토리에서 파일에 접근 할 때
파일시스템에서는 아마도 이름을 가지고
Sequential Search 를 해야할 것 같은데요.
10만개가 한 곳에 있다면 파일 하나 찾는데
평균 5만번의 비교가 필요할 것 같습니다.
그런데 100개의 폴더 밑에 1000개씩 있다면,
폴더를 찾는데 평균 50번, 그 아래서 파일을 찾는데 평균 500번 해서
평균 550번 정도의 비교면 가능할 것 같네요.
이 정도의 차이면 디렉토리 이동에 드는 오버헤드는
충분히 무시할 수 있을 것 같습니다.
특별히 경험이 있는 것은 아니지만요.여러 단계로 나누는 것이 좋을 것
특별히 경험이 있는 것은 아니지만요.
여러 단계로 나누는 것이 좋을 것 같습니다.
한 디렉토리에서 파일에 접근 할 때
파일시스템에서는 아마도 이름을 가지고
Sequential Search 를 해야할 것 같은데요.
10만개가 한 곳에 있다면 파일 하나 찾는데
평균 5만번의 비교가 필요할 것 같습니다.
그런데 100개의 폴더 밑에 1000개씩 있다면,
폴더를 찾는데 평균 50번, 그 아래서 파일을 찾는데 평균 500번 해서
평균 550번 정도의 비교면 가능할 것 같네요.
이 정도의 차이면 디렉토리 이동에 드는 오버헤드는
충분히 무시할 수 있을 것 같습니다.
뭐, 결국은 파일시스템에 달린 것이겠지만요.
당연히 나누셔야죠!depth에는 별 제한이 없을텐데 path 의
당연히 나누셔야죠!
depth에는 별 제한이 없을텐데 path 의 길이제한이
PATH_MAX 로 정의되어 있으니 넘지 않도록 주의하시면 되겠네요.
댓글 달기