벤치 마크를 여러 번 실행하여 평균 읽기를 기록합니다. 그러나 첫 번째 실행 후 후속 실행이 더 빠르다는 것을 알았습니다. 프로그램 캐시와 관련이있는 것 같아요. 다음에 프로그램을 실행할 때 벤치 마크에는 이미 캐시에 명령어가 있습니다. 저온 명령과 데이터 캐시 모두에서 프로그램을 시작하는 방법이 있습니까?콜드 캐시를 사용하여 프로그램을 시작하는 방법
6
A
답변
4
이것은 정상적인 동작입니다. 이 문제를 피하는 한 가지 방법은 메인 실행 전에 워밍업을 거의하지 않는 것입니다. 이러한 워밍업은 이전에 실행중인 프로그램의 캐시 메모리를 덮어 씁니다. 평균값을 계산하는 동안 워밍업 실행 값을 제외 시키면 실제 실행됩니다. 이러한 벤치 마크 도구를 사용하는 다양한 벤치 마크 도구가 있습니다. kernbench, lmbench 등. 예열 값을 사용할 수있는 곳.
그리고 실행중인 벤치 마크가 디스크에서 읽어야하는 데이터에 따라 다르면 디스크 캐싱에도 약간의 영향이 있습니다. 피할 수있는 한 가지 방법은 가능한 경우 RAM에 캐싱하는 것입니다. 이 기술은 kernbench에서 디스크 캐시 관련 문제를 피하기 위해 사용됩니다.
관련 문제
- 1. 프로그램을 다시 시작하는 방법
- 2. NERDtree에서 프로그램을 시작하는 방법
- 3. Jsvc를 사용하여 Java 프로그램을 데몬으로 시작하는 방법
- 4. Windows 서비스를 사용하여 프로그램을 시작하는 방법은 무엇입니까?
- 5. Silverlight를 브라우저 외부에서 시작하는 방법 응용 프로그램을 최대화 시작하는 방법
- 6. 콜드 스타트 성능 WPF
- 7. 활동에서 작은 응용 프로그램을 시작하는 방법?
- 8. 캐시를 초기화하고 업데이트하는 방법
- 9. sed 파일에서 여러 응용 프로그램을 시작하는 방법
- 10. 파인더 응용 프로그램을 다시 시작하는 방법
- 11. Dock, Mac에서 Java 응용 프로그램을 시작하는 방법
- 12. Linux에서 프로그램을 종료하기 전에 다시 시작하는 방법
- 13. 시작시 응용 프로그램을 시작하는 가장 좋은 방법
- 14. COM Interop 콜드 스타트 개선
- 15. 응용 프로그램 내 응용 프로그램을 시작하는 방법
- 16. 특정 시간에 응용 프로그램을 시작하는 방법
- 17. 내 응용 프로그램을 사용하여 mp4와 같은 미디어 파일을 시작하는 방법
- 18. C#을 사용하여 새 ASP.NET 웹 응용 프로그램을 시작하는 방법
- 19. 파이썬과 PyQt4를 사용하여 기본 응용 프로그램을 시작하는 방법
- 20. NetBeans에서 gradle을 사용하여 spring-mvc 응용 프로그램을 시작하는 방법
- 21. capistrano를 사용하여 원격 컴퓨터에서 play2 응용 프로그램을 시작하는 방법
- 22. QT 및 C++을 사용하여 응용 프로그램을 시작하는 방법
- 23. 콜드 작업과 TaskExtensions.Unwrap
- 24. Python으로 프로그램을 시작하는 방법은 무엇입니까?
- 25. 자바 프로그램을 시작하는 방법은 무엇입니까?
- 26. Scala에서 외부 응용 프로그램을 시작하는 방법
- 27. Android에서 새 응용 프로그램을 시작하는 방법
- 28. C# 콘솔 응용 프로그램을 관리자로 시작하는 방법
- 29. 부팅시 plack 응용 프로그램을 시작하는 방법
- 30. 특정 시간에 PHP 응용 프로그램을 시작하는 방법
디스크 캐시 가능성이 더 높습니까? –
이것은 프로그램과 데이터가 CPU 캐시로 인해가 아니라 디스크에서 읽혀지기 때문일 수 있습니다. – sharptooth
좋은 질문 !! –