오류, 버그, 질문 - 페이지 2162

 
Artyom Trishkin :
열거형은 정수 열거형입니다.
0,1,2,3 ... 등 ...

함수 템플릿에 다음이 포함된 경우

열거형 문자열();

문제가 발생합니다...

 
Vladimir Pastushak :

함수 템플릿에 다음이 포함된 경우

열거형 문자열();

문제가 발생합니다...

예가 필요합니다.
 
Artyom Trishkin :
예가 필요합니다.

나는 그 중 하나가 템플릿이 된 오버로드를 만들었습니다 ...

그래서 커틀릿에서 파리를 분리 할 수있었습니다 ...

 
Vladimir Pastushak :

나는 그 중 하나가 템플릿이 된 오버로드를 만들었습니다 ...

그래서 커틀릿에서 파리를 분리 할 수있었습니다 ...

나는 파리를 알고 커틀릿을 보았지만 여기에 문제가 있습니다. 기능 코드 없이는 볼 수 없습니다.
 
Renat Fatkhullin :

수학 최적화: sqrt 대신 배열을 사용하려고 합니다.

따라서 간단한 배열에서 인덱스로 요소를 가져오는 것은 매우 빠른 작업이어야 합니다. 그렇지 않나요?

 
Комбинатор :

따라서 간단한 배열에서 인덱스로 요소를 가져오는 것은 매우 빠른 작업이어야 합니다. 그렇지 않나요?

간단한 배열은 어디에서 볼 수 있습니까?

제어에 대한 모든 의미가 있는 관리 언어의 동적 배열입니다. 그리고 sqrt는 단일 기본 프로세서 명령어입니다.


최적화에 대한 놀라운 발견과 각 프로세서 세대의 각 경우, 캐시 크기, 멀티태스킹, 벌금 등의 각 차이에서 많은 요인의 영향의 세계에 오신 것을 환영합니다.

20년 전만 해도 나는 486 프로세서에서 어셈블리 코드를 핥는 일에 종사했고, 명령어 재배열, 정렬 및 메모리의 정확한 위치로 인해 끊임없이 수십 퍼센트 부동하는 속도에 어려움을 겪었습니다. 미친 것 같았지만 나중에 인텔과 Vtune 설명서에서 그림을 설명했습니다.

그러나 오늘날 최적화 결과의 상황은 오랫동안 통제할 수 없었습니다. 시장에는 서로 다른 캐시가 있는 완전히 다른 프로세서가 너무 많이 있으므로 코드가 서로 다른 속도로 실행되도록 보장됩니다. 프로세서 캐시와 프로세서 아키텍처는 큰 영향을 미칩니다. 벤치마크에서 수십 퍼센트의 차이를 제거하려면 프로세서의 동적 주파수 제어도 비활성화해야 합니다.

예를 들어: 도살된 캐시가 있는 Atom은 적절한 아키텍처에 있는 것 같거나 교살된 U 모델은 단순한 경우에도 배수가 더 낮은 결과를 종종 보여줍니다. 더 많은 캐시 미스 및 작별 인사.

 
Artyom Trishkin :
나는 파리를 알고 커틀릿을 보았지만 여기에 문제가 있습니다. 기능 코드 없이는 볼 수 없습니다.
오버로드 된 함수에 열거 형이 있고 문자열이 있으면 적분에 대해 호출 할 때 문제가 발생합니다 ...
 
Renat Fatkhullin :

간단한 배열은 어디에서 볼 수 있습니까?

복잡성을 나타내는 올바른 경우가 아닙니다. 배열은 모든 곳에서 사용되며 지표에서 이것이 주요 계산 부분이며 이제 배열 구현이 느리다는 것을 거의 직접적으로 인정합니다.

나는 당신이 최적화를 훨씬 더 잘 이해하고 있다고 생각하지만 단순한 사용자의 관점에서 보면 모든 것이 조금 이상해 보입니다. MQL 컴파일러가 C++에 필적하는 속도로 코드를 생성한다고 주장하지만 갑자기 배열이 MQL에서는 전혀 빠르지 않습니다.
 
Комбинатор :

복잡성을 나타내는 올바른 경우가 아닙니다. 배열은 모든 곳에서 사용되며 지표에서 이것이 주요 계산 부분이며 이제 배열 구현이 느리다는 것을 거의 직접적으로 인정합니다.

직접 단일 어셈블러 명령어와 비교하면?

네, 쉽게. 다양한 수학 함수의 미리 계산된 표가 오랫동안 프로세서에 내장되어 있다는 사실을 알지 못합니다. 그리고 값비싼 CPU 수학 명령을 사용하여 속도를 높입니다.

월요일에는 그의 사례를 자세히 분석해 정확한 이유를 찾아보도록 하겠습니다.
 
Renat Fatkhullin :

직접 단일 어셈블러 명령어와 비교하면?

배열 인덱스 는 기껏해야 직접적인 단일 어셈블러 명령어로 요약되므로 문제는 여전히 유효합니다.

사유: