전문가를 위한 질문 #define - 페이지 9

 
Alexandr Andreev :

항상 작동하는 것은 아닙니다.


루프 본문이 다르기 때문에 유효한 테스트가 아닙니다.
두 번째 본문에는 더 많은 지침이 있습니다.
따라서 이것은 내 올바른 테스트가 아닙니다.
PI가 더 정확하다고 생각합니다.

 
Roman :

루프 본문이 다르기 때문에 유효한 테스트가 아닙니다.
두 번째 본문에는 더 많은 지침이 있습니다.
따라서 이것은 내 올바른 테스트가 아닙니다.
PI가 더 정확하다고 생각합니다.

이것은 단지 삶의 방식이며 테스트는 사용 및 상식 측면에서 가능한 한 정확합니다. 배열 자체의 크기를 변경하는 모든 루프에는 정확히 동일한 코드가 있습니다. 요점에 대한 예

그러나 PI가 있고 결과가 한 방향으로 명확하지 않습니다. 반복합니다.

 
Alexandr Andreev :

이것은 단지 삶의 방식이며 테스트는 사용 및 상식 측면에서 가능한 한 정확합니다.
배열 자체의 크기를 변경하는 모든 루프에는 정확히 동일한 코드가 있습니다. 요점에 대한 예

그러나 PI가 있고 결과가 한 방향으로 명확하지 않습니다. 반복합니다.

글쎄, 그는 어떻게 옳습니까?
루프 본문에 더 많은 명령어가 있으면 반복 중에 더 많은 코드가 실행되며 추가 증가 명령어가 실행됩니다.
이는 실행 시간을 증가시킵니다. 논리적입니다.
그리고 몸체가 같을 때 우리는 이미 사이클 조건에 대한 호소력을 안전하게 평가할 수 있습니다.

 
Roman :

글쎄, 그는 어떻게 옳습니까?
루프 본문에 더 많은 명령어가 있으면 반복 중에 더 많은 코드가 실행되며 추가 증가 명령어가 실행됩니다.
이는 실행 시간을 증가시킵니다. 논리적입니다.
그리고 몸체가 같을 때 우리는 이미 사이클 조건에 대한 호소력을 안전하게 평가할 수 있습니다.

))))

그는 모든 표준에 의해 정확하지 않습니다. 당신은 실행 사이에 (더 자주 실행, 다른 실행 컴파일 - 편도)가 있으므로 고백 된 값보다 한 방법에 대한 실행 간의 계산 차이가 있습니다. 차이점은 시스템의 현재 작업 때문입니다. 저것들. 조사값의 비율이 너무 작아서 이를 높이려면 체내에서 이러한 기능의 수를 늘려야 하고.... 가장 저렴한 수술을 받아야 합니다. 그리고 이것은 곱하기입니다!... 아직 다른 것을 찾지 못했습니다. 예를 들어, 내 예에서는 하나의 분할이 사용됩니다. 이는 고스트 유형도 사용되는 파이 계산 방법보다 몇 배나 적습니다(오히려 비용이 많이 드는 프로세스).

 
Alexandr Andreev :

))))

그는 모든 기준에 의해 정확하지 않습니다. 당신은 실행 사이에 (더 자주 실행, 다른 실행 컴파일 - 편도)가 있으므로 고백 된 값보다 한 방법에 대한 실행 간의 계산 차이가 있습니다. 차이점은 시스템의 현재 작업 때문입니다. 저것들. 조사값의 비율이 너무 작아서 이를 높이려면 체내에서 이러한 기능의 수를 늘려야 하고.... 가장 저렴한 수술을 받아야 합니다. 그리고 이것은 곱하기입니다!... 저는 아직 다른 것을 찾지 못했습니다. 예를 들어, 내 예에서는 하나의 분할이 사용됩니다. 이는 고스트 유형도 사용되는 파이 계산 방법보다 몇 배나 적습니다(오히려 비용이 많이 드는 프로세스).

다시. 테스트되는 것은 루프 본문이 아니라 루프 조건입니다.
조건의 충족을 측정하려면 루프의 본체가 동일해야 합니다.
그렇지 않으면 신체가 다른 시간으로 수행되기 때문에 측정 시간이 달라집니다.
이 경우에 얻은 것은 추가 명령 cnt가 있기 때문입니다.

 
void OnStart ()
  {
   int mas[];
   int mas1[ 300 ];
   int mas2[ 300 ];
   int mas3[ 300 ];
   int mas4[ 300 ];
   int mas5[ 300 ];
   int mas6[ 300 ];
   int z= 300 ;
   int size= 1000000000 ;
   ArrayResize (mas,size);
   int r= 0 ;
   int r1= 0 ;
   int r2= 0 ;
   int random;
   ulong max= 100 ; 
   int t= 0 ;
   int tr= 0 ; 
   MathSrand ( 10 );
     int num_steps= ArraySize (mas);
     double x, pi, sum= 0.0 ;
     double step = 1.0 /( double )num_steps;
    
     int v=size;
     ulong t1 = GetMicrosecondCount ();
     
    
   // for(ulong z=0; z<max; z++)
     {
       for ( int i= 0 ; i< ArraySize (mas); i++)
        {  
        r2+= ArraySize (mas);
        r2<<= 3 ;
        }

     }  
   ulong t2= GetMicrosecondCount ();
   //for(ulong z=0; z<max; z++)
   int sizem= ArraySize (mas);
     {
       for ( int i= 0 ; i<sizem; i++)
        { 
        r2+=sizem;
        r2<<= 3 ;
        
        }
     }
    
   ulong t3= GetMicrosecondCount ();
   Print (t2-t1, "  " ,t3-t2, " " ,r2, " " ,r1);
// Templ();
  }

일반적으로 용서와 이진 시프트 (가장 저렴한 연산 중 하나)의 교대도 계산에 영향을 미치는 것으로 나타났습니다 .... 글쎄, 차이가 없습니다. 이것이 평결입니다
 
Roman :

다시. 테스트되는 것은 루프 본문이 아니라 루프 조건입니다.
조건의 충족을 측정하려면 루프의 본체가 동일해야 합니다.
그렇지 않으면 신체가 다른 시간으로 수행되기 때문에 측정 시간이 달라집니다.
이 경우에 얻은 것은 추가 명령 cnt가 있기 때문입니다.

일반적으로 내 텍스트는 정확히 숫자 pi를 사용하는 방법에 관한 것이었습니다.

 
#define 에 대해 묻는 것조차 두렵다
 
Алексей Тарабанов :
#define 에 대해 묻는 것조차 두렵다

더 나은 정의에 대해 이야기해 봅시다.
내가 알기로는 실행 파일의 성능이 향상되지 않습니다.

 
Roman :

더 나은 정의에 대해 이야기해 봅시다.
내가 알기로는 실행 파일의 성능이 향상되지 않습니다.

하자. 먼저 - 실행 파일을 정의한 다음 - 실행 파일의 실행을 정의합니다.