Repository navigation
Fix: 스파스 파일을 다시 만지면 매번 디스크에서 읽혀 재예열이 되풀이됨 - #192
Merged
Merged
Conversation
스파스 속성 파일은 새 매핑으로 만지면 방금 예열로 읽은 범위도 디스크에서 다시 읽혔습니다. 캐시 다시 만지기가 그런 파일에서 디스크를 읽고 멈추면서 목록 일부가 메모리에 없다고 판정해, 재예열 점검이 목록 전체를 10~20분마다 다시 예열했습니다. - 다시 만지기는 파일 속성을 먼저 조회해 스파스 파일의 범위를 매핑을 만들지 않고 건너뜀 - 건너뛴 양을 결과에 따로 세고 사다리·새로 고침·예열 완료 줄 끝에 남김 - 만질 것이 하나도 없는 게임은 그 판정을 기억해 재예열 점검마다 다시 시도하지 않음 - 스파스가 아닌 파일에서의 디스크 읽기 감지는 그대로 둠 - 사다리가 멈춘 줄의 전체 크기를 사다리 전체로 고정함 - `docs/SOLAR.md`, `docs/SOLAR.ko.md` 의 로그 설명과 한계 절에 반영함 Issues #191
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
csharp/src/AsterCache.Windows/StandbyTouch.cs,FileGuards.cs).TouchResult.SkippedBytes), 로그 줄 끝에, K MiB in sparse files not touched로 남깁니다. 예열 완료 줄은requeued N MiB in S s (K MiB in sparse files not touched)가 됩니다. 건너뛴 양이 0 이면 로그는 이전과 같습니다 (Solar.cs,StreamRequeue.cs).ladder has nothing to touch (…)를 남기고, 그 판정을 기억해 재예열 점검마다 다시 시도하지 않습니다. 그 게임의 새 예열 스트림 뒤에는 다시 판정합니다 (Solar.cs,Rewarm.Ladder.cs).after T of N MiB)의 N 을 사다리 전체로 고정했습니다.docs/SOLAR.md,docs/SOLAR.ko.md의 로그 설명과 한계 절에 반영했습니다.알아 둘 점
requeue stopped by disk reads로 멈추고 재예열이 되풀이됨), 파일 속성 집계(해당 게임 폴더의.xsub210개 중 78개, 50.6 GiB 가 스파스. 사다리가 디스크 읽기 없이 끝나던 다른 게임의 폴더에는 없음).Test plan
dotnet build csharp -c Release -m:1경고 0, 오류 0dotnet test csharp/tests/AsterCache.Tests -c Release --no-build --filter "Category!=Live"4,473건 통과StandbyTouchLiveTests5건 통과 (스파스 속성을 준 실제 임시 파일 포함)dotnet format csharp --verify-no-changes종료 코드 0git diff --check종료 코드 0build-test통과: https://github.com/DO0OG/AsterCache/actions/runs/43537751446Closes #191