반짝임과 불행 OOP - 페이지 4

 
Integer :

... 프로그램의 작동을 변경하기 위한 if 또는 switch 호출이 없기 때문에 이 비즈니스는 매우 빠르게 작동해야 함을 암시합니다. 초기화 중에 원하는 클래스가 한 번만 선택되었습니다. 그러면 모든 것이 정확하고 간단하게 작동합니다.

...

메타드라이버 :

...

"실제"포인터가있는 언어에서는 그러한 효과가 없으며 스위치는 거기에서 잃을 것입니다. 많을수록 선택 목록이 커집니다.

...

얘들아, 스위치 문서를 피워 라. 좋은 스위치는 성능이 선택 항목 수와 무관한 전환 전환입니다. 옵션 1, 100 또는 1000 - 전환 속도는 일정합니다.
Как работает оператор switch в Си/Си++ - CyberForum.ru - форум программистов и сисадминов
  • Evg
  • www.cyberforum.ru
ВНИМАНИЕ! Вопросы по существу обсуждаемого вопроса просьба задавать здесь или создать тему на форуме и кинуть на неё ссылку в блог или мне в личку. Причин для этого несколько. Я, как и любой другой автор, всегда могу упустить интересный момент обсуждаемой темы (что подтвердилось на практике). А потому задаваемый вопрос может закрывать...
 
Integer :
컴파일 메커니즘을 이해해야 하는 이유는 무엇입니까? 나쁜 결과가 좋은 결과보다 낫다고 믿는 것뿐입니까? 결과가 중요합니다.

이상한 말. 컴파일러 수준 최적화 문제를 해결하려고 하는 동시에 어떻게 작동하는지 모릅니다.

 
C-4 :
얘들아, 스위치 문서를 피워 라. 좋은 스위치는 성능이 선택 항목 수와 무관한 전환 전환입니다. 옵션 1, 100 또는 1000 - 전환 속도는 일정합니다.
예, 예에서와 같이 요소가 충분하면 직접 테이블 점프가 있는 스위치가 있습니다.
 

나는 프로그래밍에서 제로에 가깝고 OOP가 속도보다 편의성을 위해 만들어진다는 것을 알고 있습니다. 실제로 OOP는 사용법만 알면 편리한 것입니다.

메타 인용은 테스터에서 잘못된 스프레드에 시간을 할애하는 것이 좋습니다. 적절하게 테스트하는 것이 불가능하다면 전문가에게 글을 써도 소용이 없습니다. 대부분의 경우 이는 FORTS 거래에 적용됩니다.

 
dimeon :

나는 프로그래밍에서 제로에 가깝고 OOP가 속도보다 편의성을 위해 만들어진다는 것을 알고 있습니다. 실제로 OOP는 사용법만 알면 편리한 것입니다.

테스터에서 잘못된 스프레드에 메타따옴표가 시간을 할애하는 것이 좋습니다. 적절하게 테스트하는 것이 불가능하다면 전문가에게 글을 써도 소용이 없습니다. 대부분의 경우 이는 FORTS 거래에 적용됩니다.

좀 더 자세한 설명(증거)이 이미 어딘가에서 나왔나요?

여기서 당신의 진술을 증거로 뒷받침하는 것이 관례입니다. 그렇지 않으면 그들은 심지어 그것을 볼 것입니다. ;)

 

일반적으로 토픽 스타터의 예는 인라인이 있음을 보여줍니다. 이것이 없으면 디버그 모드 에서 결과가 바뀌고 OOP가 더 빠르게 실행됩니다.

이 사진은 전우들이 어두운 방에서 검은 고양이를 찾기 위해 바쁘게 움직이고 있음을 암시합니다.

 
Renat :

...

그러나 가상 메서드는 잘라낼 수 없습니다. 항상 호출됩니다. 결과적으로 한 경우에는 사이클이 단순히 회전하고 다른 경우에는 호출이 사이클에 있습니다.

...

그건 그렇고, 빈 사이클도 삭제할 수 있습니다. 코드:

 void OnStart (){
   for ( int i = 0 ; i < 1000000 ; i++)
      foo();
}

void foo( void ){}

간단하게 줄일 수 있습니다.

 void OnStart (){
   ;
}
 
Vinin :

증거는 반대편에 있을 것입니다. 또는 다시 말하지만.

대체로 사실만이 관심 대상입니다.

OOP가 더 느리다는 것을 이미 알고 있지만 매우 구체적인 편의를 제공합니다.

월요일에 실제 OOP 프로젝트 를 프로파일링하는 예를 사용하여 한계 내에서의 성능이 시스템 함수 호출의 성능으로 가는 경향이 있음을 보여줄 것입니다.
 
C-4 :

이상한 말. 컴파일러 수준 최적화 문제를 해결하려고 하는 동시에 어떻게 작동하는지 모릅니다.

죄송합니다. 당신이 뭔가를 혼동했습니다. 저는 컴파일러를 최적화하려고 시도하지 않았습니다. 내가 한 일을 이해하지 못한다면 이 주제를 처음부터 다시 읽으십시오. 그러나 더 주의 깊게, 그리고 다시 주제에서 벗어나지 않도록 노력하십시오.
 
Renat :
예, 예에서와 같이 요소가 충분하면 직접 테이블 점프가 있는 스위치가 있습니다.

여기에서만 키 값이 단일 단계로 이동할 때 가장 간단한 옵션이 사용되므로 오프셋이 간단하게 계산됩니다. 그러나 다음과 같은 것이 있다고 가정해 보겠습니다.

case 10 : ...

case 100 : ... case 1000 : ... case 1000000 : ...

여기에서 내가 이해한 바와 같이 인덱스는 바이너리 검색 을 통해 결정됩니다. 이 두 가지 방법이 모두 있습니까?