내가 장치에 삽입 처음 후에 SD 카드에서 일부 미디어 파일을 읽으려고, 읽기 성능이 두 번째보다 훨씬 더 나쁘다는 모두, 누구는이 있는가 이 현상에 대한 아이디어와 어떻게이 문제를 피할 수 있습니까? 나는 열어 보았습니다.하지만 결과는 같습니다. SD 카드를 삽입 할 때마다 읽기 성능을 동일하게 유지하십시오.
답변
파일을 열 때 O_DIRECT
(open(2) 참조)을 사용하면 버퍼 캐시를 건너 뜁니다. 이것은 종종 좋은 생각은 아니지만, 실행간에 일관성이 있기를 기대합니다.
O_DIRECT
을 사용하려면 메모리가 SC_PAGESIZE
이되도록 정렬하고 SC_PAGESIZE
의 배수 인 블록으로 읽어야합니다.
당신 은요? 장치를 제거하기 전에 후속 읽기보다 처음 읽는 것이 더 나쁩니다. 그렇다면 이것은 정상적인 현상입니다. 이는 버퍼링 때문입니다. 기본적으로 시스템은 시스템 RAM을 사용하여 장치의 인식 속도를 높입니다.
카드를 마운트 해제 한 후 카드를 꺼낸 다음 다시 넣고 다시 마운트하면 첫 번째 읽기가 다시 느려지고 다음 읽기가 빠를 것으로 예상됩니다.
안녕하세요, Jared, 답장을 보내 주셔서 감사합니다. 말씀하신 것과 정확히 같습니다. 처음으로 성능을 향상시키는 방법에 대해 궁금한 점이 있습니까? 처음으로 버퍼링을 중단 할 수 있습니까? 도움이 될 것입니까? – thisEric
일반적으로 버퍼링은 유용하며 시스템에서 그대로 유지해야합니다. SD 카드 읽기는 RAM 읽기보다 항상 느립니다! –
안녕하세요 Basile, 당신은 맞습니다, 대부분의 시간을 버퍼링 유용하지만, 처음으로 성능이 나아질 것인지 여부, 버퍼링없이 궁금해하는 O_DIRECT 플래그를 시도, 성능이 처음으로 더 나쁘다, 나는 혼란 스러워요 . – thisEric
- 1. Windows 8의 파일 IO
- 2. Java 파일 IO 예외
- 3. 동기화 및 IO 파일
- 4. libevent2 및 파일 io
- 5. C# 파일 IO 최적화
- 6. 성능은 base64로
- 7. 안드로이드 파일 IO 인터페이스 클래스
- 8. Windows의 모든 파일 IO 리디렉션
- 9. C++의 압축 파일 IO
- 10. C++ 유니 코드 파일 io
- 11. 원격 Windows 시스템의 파일 IO
- 12. IO 파일 읽기/쓰기 Verilog
- 13. 펄의 파일 체크가 IO 집중적입니까?
- 14. IO 파일 코드가 일치하지 않습니다
- 15. 텍스트 파일 만들기 Android IO
- 16. IO/파일 있음 VB.NET 2010
- 17. PATINDEX와 CHARINDEX의 성능은 어떻습니까?
- 18. 하드 디스크 성능은
- 19. iPad 파일의 성능은
- 20. IEnumerable의 예상되는 성능은 무엇입니까?
- 21. 코어 데이터의 성능은 어떻습니까?
- 22. C++ 파일 IO - 파일 IO 관련 항목에 대한 메서드를 찾을 수 없습니다.
- 23. GHC IO 관리자는 어떤 IO 작업을 지원합니까?
- 24. 자바 라인 IO 대 C++ IO?
- 25. C++ - Noob 이진 파일 IO 질문
- 26. 자바 대용량 파일 디스크 IO 성능
- 27. IO :: Event를 사용하여 디렉터리의 새 파일 검색
- 28. jars, 외부 속성 및 외부 파일 io
- 29. 날카로운 시스템 IO 저장 텍스트 파일 문제
- 30. 파일 IO 중복 검사가 더 효율적입니까?
:(이 플래그를 시도했지만 작동 할 수 있지만 성능은 안드로이드 장치에서 ... 심지어 어쨌든 감사합니다 – thisEric
하지만 –
안녕하세요, 브라이언, 나는 당신의 요점을 알 수 없었습니다. 실제로 O_DIRECT가 성능을 향상시킬 수 있다는 것을 의미합니까?하지만 장치에서 시도했는데, 그럴 수 없습니다. 무엇이 문제입니까? – thisEric