캔버스 멋지다! - 페이지 18

 
fxsaber :

말씀하신 내용에 오해가 있는 것 같습니다. 그것은 정수 가격이 특정 상황에서 이득을 줄 수 있는 특정 테스터의 문제의 예에 관한 것이었습니다. 보편적인 경우를 의미하지 않았습니다. 이것이 내가 위에 링크를 제공한 내 테스터가 이중으로 구현된 이유입니다. 만능인.

100% 동의할 수는 없습니다.

당신은 다음과 같은 성명을 발표했습니다.

틱을 정수로 만들면 "테스터"가 훨씬 빠르게 작동하기 시작할 것이라고 거의 확신합니다.

그것을 실행에 옮기려고 하는 것은 절대적으로 잘못된 것입니다. 실제로는 100% 틀립니다.

따라서 이론에 들어가거나 주제를 변경할 필요가 없습니다. 주제는 "현재 테스터는 정수로 변환할 때 가속 가능"입니다. 그리고 주제는 예외 없이 100% 틀립니다.

 
Renat Fatkhullin :

당신은 다음과 같은 성명을 발표했습니다.

그것을 실행에 옮기려고 하는 것은 절대적으로 잘못된 것입니다. 실제로는 100% 틀립니다.

따라서 이론에 들어가거나 주제를 변경할 필요가 없습니다. 주제는 "현재 테스터는 정수로 변환할 때 가속 가능"입니다. 그리고 주제는 예외 없이 100% 틀립니다.

이것이 내가 원래 Tester라는 단어를 인용 부호로 묶은 유일한 진술이라는 점에 유의하십시오. 제기한 주제를 잘못 이해했습니다.

 
fxsaber :

이것은 고문의 코드를 변경하지 않고(표시기 포함) 모든 거래 및 이익을 완전히 통과하는 테스터용 추가 기능입니다. 그러나 일반 테스터보다 빠르게 수행합니다. 그는 재현 가능한 모든 증거를 인용했습니다. 리소스의 사람들이 이 진술을 확인했습니다.

보여주다.

그런 다음 요점은 정수 메커니즘으로의 전환에 있으며 우리가 간과로 인해 이 또는 그 메커니즘을 비효율적으로 구현했다는 사실이 아님을 증명합니다.

오픈 포지션 의 기초를 재계산하는 것의 영향에 대해 이야기하고 있다면, 앞으로 우리가 고칠 브레이크가 실제로 있습니다.
 
fxsaber :

이것이 내가 원래 Tester라는 단어를 인용 부호로 묶은 유일한 진술이라는 점에 유의하십시오. 제기한 주제를 잘못 이해했습니다.

나는 모든 것을 올바르게 이해했습니다.

그리고 그는 당신에게 불쾌한 세부 사항으로 주제를 올바르게 공개했습니다. 정수 테스터를 계산하지 않았다고 생각한다면 큰 착각입니다.

 
Renat Fatkhullin :

보여주다.

오픈 포지션 의 기초를 재계산하는 것의 영향에 대해 이야기하고 있다면, 앞으로 우리가 고칠 브레이크가 실제로 있습니다.

그것은 좋은 것입니다!

 
fxsaber :

틱을 정수로 만들면 "테스터"가 훨씬 빠르게 작동하기 시작할 것이라고 거의 확신합니다.

이 두 개의 동일한 스크립트에서 double 및 int의 성능을 비교했습니다.

놀랍게도 이중이 우세한 변종은 내 프로세서에서 훨씬 더 빠른 것으로 나타났습니다.

파일:
LSD_int.mq5  8 kb
 
Renat Fatkhullin :

그것은 훌륭하게 밝혀졌습니다.

앤티 앨리어싱이 없는 초당 347 프레임과 2100x550 픽셀의 캔버스에 앤티 앨리어싱이 있는 97 프레임이 있습니다.

참고로 초당 500프레임의 창 업데이트 속도 제한기가 있습니다. 이것은 그래픽에서 얼마나 많은 성능을 얻을 수 있는지 보여줍니다.

고맙습니다.

사실, 스무딩으로 이중 원은 int 원을 스무딩하지 않은 원래 원보다 약 20% 더 느립니다. 300 대 250 fps가 있습니다.

분명히 당신은 그림자로 매끄러운 원을 측정했으며 원의 그림자는 원 자체보다 훨씬 더 탐욕스럽습니다. 그림자 그리기로 그림자를 끌 수 있습니까? = 거짓.

 
Nikolai Semko :

이 두 개의 동일한 스크립트에서 double 및 int의 성능을 비교했습니다.

놀랍게도 이중이 우세한 변종은 내 프로세서에서 훨씬 더 빠른 것으로 나타났습니다.

(int)double 또는 (double)int와 같은 대량 변환의 화재처럼 두려워하고 일반적으로 매트 작업에서 int+double을 혼합합니다.

이것은 프로세서에서 가장 큰 오버헤드를 제공합니다. 바로 값비싼 어셈블러 명령입니다. 이중으로 세는 경우 계속 계산하고 정수 유형으로 전환하지 마십시오.

cvtsi2sd/cvttsd2si와 같은 명령은 매우 깁니다. 기사 " 가장 느린 x86 명령 ", 악당 번호 2의 작은 팁.

인텔® 64 및 IA-32 아키텍처 최적화 참조 매뉴얼 에 따르면 cvttsd2si 명령의 비용은 5 대기 시간입니다(부록 C-16 참조). cvtsi2sd는 아키텍처에 따라 대기 시간이 Silvermont의 경우 1에서 다른 여러 아키텍처의 경우 7-16까지 다양합니다.

Agner Fog의 명령 테이블 에는 Silvermont의 cvtsi2sd에 대한 5사이클 대기 시간(2 클럭 처리량당 1개 포함) 또는 Haswell에 대한 4c 대기 시간(클럭 처리량당 1개 포함)(대상 레지스터에 대한 종속성을 피하는 경우)과 같이 더 정확하고 합리적인 숫자가 있습니다. gcc가 일반적으로 pxor xmm0,xmm0에서 수행하는 것처럼 이전 상반부와 병합하지 않습니다.

 
Nikolai Semko :

고맙습니다.

사실, 스무딩으로 이중 원은 int 원을 스무딩하지 않은 원래 원보다 약 20% 더 느립니다. 300 대 250 fps가 있습니다.

분명히 당신은 그림자로 매끄러운 원을 측정했으며 원의 그림자는 원 자체보다 훨씬 더 탐욕스럽습니다. 그림자 그리기로 그림자를 끌 수 있습니까? = 거짓.

출력 주파수가 아닌 캔버스 생성 주파수를 보고 있는 것으로 나타났습니다.

이들은 서로의 배수인 서로 다른 숫자입니다.

사유: