두 기능에 동일한 입력 데이터 (BMP)를 사용하여 두 가지 다른 기능의 속도를 비교하는 데 관심이 있습니다. 함수의 평균 또는 최소 실행 시간을 측정해야합니까?
우리가 함수의 실행 시간을 측정
우리는 같은 결과 (시간을)하지 않는다 (항상 같은 입력을 사용하는) 경우에도 우리 프로그램이 멀티 태스킹 환경에서 실행되기 때문에해야한다. 프로그램을 '높은 우선 순위'로 실행하더라도 다른 프로그램의 간섭으로 인해 프로그램 속도가 느려지므로 단일 핵심 컴퓨터를 간단하게 고려하십시오.그래서 대부분의 사람들은 함수를 여러 번 실행하여 평균을 구할 것입니다. 내 질문에 왜 우리는 평균 대신에 가장 작은 실행 시간을 기록하지 않는 것입니까? 최소 실행 시간은 평균 실행 시간보다 실제에 훨씬 가깝습니다.
취할 수있는 다른 실행 경로가없는 경우 실제 실행 시간 만 반영합니다.하나의 실행 경로가 다른 실행 경로보다 훨씬 길거나 느릴 수 있습니다. 예를 들어 어떤 조건이 충족되지 않으면 가장 짧은 시간이 초기 수익이 될 수 있습니다. 그것은 일반적인 실행 시간을 반영하지 않으며, 대부분의 사람들이 알고 싶어합니다. 예를 들어, BigInteger.divide()를 사용하십시오. 전달 된 제수가 0이면 실행 시간이 매우 짧습니다. 그러나 그것이 사실이 아니라면 단지 길어도 좋다. –
더 긴 실행 시간의 존재는 함수가 측정 된 최소 시간보다 오래 걸릴 수 있다는 증거입니다. 대부분의 사람들은 임의의 시간에 임의의 부하에서 성능에 관심이 있습니다. –
죄송합니다. 나는 문제를 충분히 정의하지 않았다. 나는 이것을 추가했다 : "함수의 실행 시간을 측정하라. (항상 같은 입력을 사용한다") - 이제는 다른 실행 경로가 없다. 다시 미안 해요. – Ampere