효율성을 증명하기 위해 필자가 작성한 Java 프로그램을 테스트하려고합니다. 실행해야 할 여러 가지 테스트가 있으며 런타임 분석에서 정확하도록 노력하고 있습니다. 문제는 다른 테스트가 일반적인 디스크의 정보에 액세스 할 수 있다는 것입니다. 따라서, 실험 결과에서 "공평"하기 위해서는 실험 사이에서 Java 프로그램에서 사용되는 내부 메모리를 어떻게 든 프로그래밍 방식으로 지우고 싶습니다. 즉, 각 실험에 동일한 "빈 메모리/캐시"가 있어야합니다.java가 내부 메모리 캐시를 지우는 중
실험 사이에 큰 파일을 읽으려고했습니다. 나는 또한 내 컴퓨터를 다시 시작하려고했다. 흥미로운 점은 큰 파일을 읽은 후 컴퓨터를 다시 시작할 때 (예 : 40 초에서 5 초) 시간이 훨씬 더 많이 걸린다는 것입니다. 실현 가능성이없는 각 실험 사이에 내 컴퓨터를 다시 시작하는 것 외에 내부 메모리를 정리하는 올바른 방법은 무엇입니까 (즉, 일반적인 디스크 액세스의 실험 속도가 빨라지는 것을 피할 수 있습니까?).
그러나 왜 빈 디스크 캐시가 현실적인 시나리오라고 생각합니까? 아주 희귀 한 최악의 경우를 테스트하는 것입니다. –
감사합니다. 나는 최악의 상황을 테스트하고 있으며, 실제로는 상황이 나아질 것이라고 동의한다. 그러나 최악의 시나리오에서도 내 프로그램이 잘 작동한다는 것을 보여주고 싶습니다. (나는 캐시 문제에 대해 불평 할 변명을하기 위해 내 시스템에 대해 쓰고있는 논문의 심판을 원하고 있지 않다.) – user1797753
Java API가 없지만이를위한 OS 별 방법이있을 수있다. 그래서 어떤 운영 체제를 사용하고 있습니까? – nos