설명
실행 시간은 참조 세트 i의 크기와 참조 세트에서 동적 세트 요소의 위치입니다. 는 이전 구현에는 실행 시간이 참조 세트의 크기. 새로운 코딩은 위치에 따라 달라집니다. 참조 세트의 요소입니다. 기억력을 희생해서 우리는 시간을 동적 요소의 수에 비례하게 만듭니다. 만 설정합니다. k(i) = k(i-1) 빠른 실행 후보이지만 루프 내부에서만 가능 k(i) = k(i-1) + no +no로 인해 속도가 느려집니다. 기여자: Alex
소형 모델 유형 :크레이지 슬롯
카테고리 : 크레이지 슬롯 테스트 라이브러리
메인 파일 : set9.gms
$title 집합 요소의 빠른 이동 (SET9,SEQ=448)
$onText
실행 시간은 참조 세트 i의 크기에 따라 달라집니다.
참조 세트에서 동적 세트 요소의 위치입니다. 는
이전 구현에는 실행 시간이
참조 세트의 크기. 새로운 코딩은 위치에 따라 달라집니다.
참조 세트의 요소입니다. 기억력을 희생해서 우리는
시간을 동적 요소의 수에 비례하게 만듭니다.
만 설정합니다.
k(i) = k(i-1) 빠른 실행 후보이지만 루프 내부에서만 가능
k(i) = k(i-1) + no +no로 인해 속도가 느려집니다.
기여자: 알렉스
$offText
i 참조 세트 / 1*1000000 /, k(i), m(i) / 1,10000,50000/ 설정;
매개변수 s, 반복 실행 횟수;
루프(m,
k(i) = 아니오; k(m) = 그렇습니다; s = 시간Exec;
반복하다
k(i) = k(i-1) (timeExec-s) > 0.5까지;
rep(m,'fast') = sum(k, k.val)-m.val; k를 표시;
k(i) = 아니오; k(m) = 그렇습니다; s = 시간Exec;
반복하다
k(i) = k(i-1) + no (timeExec-s) > 0.5 까지;
rep(m,'slow') = sum(k, k.val)-m.val; k를 표시);
담당자(m,'비율') = 담당자(m,'빠른')/rep(m,'느린');
디스플레이 담당자;
* 타이밍/메모리 문제가 있는 오래된 기계로 인해 이 테스트를 수행할 수 없습니다.
* abort$sum(m, rep(m,'ratio') < 50) '뭔가 이상해 보여요';
abort$(smax(m, rep(m,'ratio')) < 50) '뭔가 이상해 보여요';
$exit
---- 28개 PARAMETER 반복 실행 횟수
빠르게 느린 비율
1 10115.000 3.000 3371.667
10000 4366.000 3.000 1455.333
50000 830.000 3.000 276.667