>source

배열 세트에서 가장 기본적인 정렬 알고리즘의 매우 기본적인 벤치 마크 작업 중입니다. 나는 그들을 목록에 저장하고 (아마도 나쁜 아이디어) 나노초 차이를 사용하여 배열을 정렬하는 데 걸리는 시간을 반환하고 싶었다. 나는 거의 거기에 있지만 끝에있는 총 시간이 아닌 반복자의 각 반복에서 누적 된 총 시간을 반복하는 것을 이해합니다. 나는 결국 총 시간을 얻지 만, 나는 총 시간 출력만을 얻는 방법을 조금 강하게 들었다.

public static void main(String[] args) {
    makeArray(100, 50);  //make 100 arrays at size 50
    System.out.println();
        BubbleSort bs= new BubbleSort();    //Create bs obj
    for (Iterator<int[]> iterator= listOfArrays.iterator(); iterator.hasNext();) {
        int[] isSort= (int[]) iterator.next();
        double time=(bs.benchmark(isSort));  //pass iterators arrays to benchmark method
        System.out.println("Total time: " + time);
    }//rof
}//main

My Runner 클래스 메인 메소드에서는 여러 배열을 만들고, 정적 ArrayList (아마도 나쁜 아이디어)에 추가하고 반복자를 통해 배열을 정렬하는 벤치마킹 방법에 반복자를 전달합니다.

public double benchmark(int[] toSort){
    double startTime= System.nanoTime();
    bubble(toSort);
    double endTime= System.nanoTime();
    double timeElapsed= endTime -startTime ;
    double elapsedMillis= timeElapsed/1000000;
    total+=elapsedMillis;  //total is a static class variable but this isnt viable longterm imo
    return total;  //this is returned after each array in the collection is sorted obviously
}//benchmark

나는 그 조금 지저분한 것을 이해하고, 그냥 거친 첫 번째 초안을 이해하지만, 나는 오른쪽 방향으로 조금 걷어차는 것을 필요로한다.

따라서 당신의 목표는 그 끝에 총 시간을 인쇄하는 것입니다. 벤치 마크 클래스의 속성이있는 것으로 보이기 때문에 모든 항목을 통해 실행 한 후에는 그냥 반환 할 수 있습니다.

leyren2021-04-20 05:02:17

나는 벤치마킹을 호출 한 후 Gettotal 방법을 만들고 별도의 방법 호출로 정적 총 이중을 반환하고 벤치마킹 방법을 공백 유형으로 변경하지만 이미 비효율적으로 느껴집니다. 아마

Conor Timlin2021-04-20 05:02:17
  • 이전 javascript : 녹아웃 유효성 검사를 사용하여 특정 하위 항목의 유효성을 검사하는 방법
  • 다음 php : LinkedIn API에서 조직 데이터를받는 방법은 무엇입니까?