I/O를하는 라이브러리가 있습니다. 내부적으로 사용되는 메모리 버퍼의 크기를 조정하기위한 두 개의 외부 손잡이가 있습니다. 일부 테스트를 실행했을 때 버퍼의 크기가 성능에 큰 영향을 줄 수 있음을 발견했습니다.적응 형 또는 최적화 메모리 전략을 라이브러리에 포함시키는 것이 현실적입니까?
그러나 최적의 크기는 PC의 사용 가능한 메모리, 처리되는 파일의 크기 (매우 작음에서 매우 큰 것까지 다양 함), 파일 수, 입력 스트림에 상대적인 출력 스트림, 그리고 나는 그 밖의 무엇이 확실하지 않다.
적응 형 메모리 전략을 라이브러리에 구축하는 것이 합리적입니까? 아니면 그냥 펀트하는 것이 더 좋고, 도서관 이용자가 무엇을 사용해야하는지 알아낼 수있게 할 것인가?
누구나 이런 식으로 일한 적이 있습니까? 얼마나 힘들습니까? 작동 했나요?
다른 버퍼 크기가 주어지면 라이브러리는 다양한 작업에 소요되는 시간을 추적 할 수 있다고 가정하고 최적의 크기를 결정할 수 있다고 가정합니다. 라이브러리가 초기 I/O 라운드에서 다양한 버퍼 크기를 통해 회전하는 것을 상상할 수 있습니다. 그리고 나서 결국 계산을 수행하고 결과에 따라 향후 라운드에서 버퍼 크기를 조정합니다. 그런데 얼마나 자주 다시 확인해야합니까? 얼마나 자주 조정해야합니까?
노인 용 버퍼입니다. 메모리 맵을 사용하십시오. – Jherico