MT5 코드 프로파일러 정보 - 페이지 6

 
fxsaber # :

왜 45% 라인과 나머지는 고려되지 않았는지 이해하지 못했습니다.

여기에는 로드에 대해 작성한 기본 기능이 포함됩니다.

RefreshHistory는 HistorySelect와 HistoryOrderGet, GetHistoryPositionData - 그 중 + HistoryDealGet으로 구성됩니다.

또한 눈으로 코드를 살펴보고 가장 빨간 줄을 분석하는 데 도움이 됩니다. 사실, 코드가 시트보다 조금 더 복잡한 경우 항상 착색되지는 않습니다.

 
fxsaber # :

29.41%(무엇으로부터 명확하지 않음)는 반환 후 메서드의 닫는 괄호에 해당합니다. 해석하기 어렵습니다.

지역 함수 변수, 지역 객체 등 제거

이것은 함수에서 반환된 후에 수행됩니다.

 
Andrey Khatimlianskii # :

지역 함수 변수, 지역 객체 등 제거

이것은 함수에서 반환된 후에 수행됩니다.

ulong 변수는 세 개뿐입니다.

 
fxsaber # :

큰 이야기에 20회 반복을 추가했습니다.

29.41%(무엇으로부터 명확하지 않음)는 반환 후 메서드의 닫는 괄호에 해당합니다. 해석하기 어렵습니다.

그리고 이 기능에 대한 보고서에는 무엇이 있습니까?

보여주세요

 
Ilyas # :

그리고 이 기능에 대한 보고서에는 무엇이 있습니까?

보여주세요

MQL 프로파일러 보고서 - \MQL5\Experts\Test19.mq5
기능 라인 총 CPU 백분율 자체 CPU 백분율
MT4ORDERS::GetHistoryPositionData 1093 701
85.38%
260
31.67%
} 1360 157
21.96%
157
60.38%
정적 무효 GetHistoryPositionData( 티켓 구성 ) 1093 46
6.43%
46
17.69%
const 문자열 StrComment = ::HistoryDealGetString(오픈티켓, DEAL_COMMENT); 1178 23
3.22%
열하나
4.23%
MT4ORDERS::Order.Comment = ::HistoryDealGetString(티켓, DEAL_COMMENT); 1107 20
2.80%
3.85%


이 정보가 필요한지 확실하지 않습니다. 불행히도, 나는 숫자를 잘 이해하지 못합니다. 그것을 알아내고 싶다.


ZY 동일한 Line=1093인 두 줄 위의 표에서. LAN에서 제공할 재생용 데이터는 무엇입니까?

 
fxsaber # :

ulong 변수는 세 개뿐입니다.

그리고 이 함수에서 호출된 모든 것.

함수 A의 실행 시간에는 A에서 호출된 모든 함수 B의 실행 시간이 포함됩니다. B가 다른 곳에서 호출되는 경우를 제외하고(B가 A에 들어가는 시간의 일부만).

 
Andrey Khatimlianskii # :

그리고 이 함수에서 호출된 모든 것.

함수 A의 실행 시간에는 A에서 호출된 모든 함수 B의 실행 시간이 포함됩니다. B가 다른 곳에서 호출되는 경우를 제외하고(B가 A에 들어가는 시간의 일부만).

닫는 괄호를 의미했습니다.

 
fxsaber # :

닫는 대괄호를 의미했습니다.

나는 그녀에 대해 이야기하고 있습니다)

아마도 내가 뭔가를 잘못 이해하고 있는 것 같습니다.

 

프로파일러 실행 후 테스터 로그(시각화 없음) .

 2021.11 . 08 03 : 21 : 54.358 Core 1   EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0 : 00 : 00.018 . Test passed in 0 : 00 : 22.853 (including ticks preprocessing 0 : 00 : 01.219 ).
2021.11 . 08 03 : 21 : 54.358 Core 1   EURUSD,M1: total time from login to stop testing 0 : 00 : 22.871 (including 0 : 00 : 00.018 for history data synchronization)
2021.11 . 08 03 : 21 : 54.358 Core 1   disconnected
2021.11 . 08 03 : 21 : 54.358 Core 1    1578 Mb memory used including 24 Mb of history data, 192 Mb of tick data


그 직후 테스터의 시작 버튼을 손으로 눌렀다.

 2021.11 . 08 03 : 23 : 00.166 Core 1   EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0 : 00 : 00.029 . Test passed in 0 : 00 : 07.548 (including ticks preprocessing 0 : 00 : 01.203 ).
2021.11 . 08 03 : 23 : 00.166 Core 1   EURUSD,M1: total time from login to stop testing 0 : 00 : 07.577 (including 0 : 00 : 00.029 for history data synchronization)
2021.11 . 08 03 : 23 : 00.166 Core 1    444 Mb memory used including 24 Mb of history data, 192 Mb of tick data


  1. 프로파일링 중 통과 시간이 3배 더 긴 이유는 무엇입니까?
  2. 프로파일링 중에 메모리 소비가 3배 더 높은 이유는 무엇입니까?
 

프로파일러는 실제로 존재하지 않았던 함수 호출을 보여줍니다. 나는 심지어 이것에 부딪쳤다.

mqh-file의 소스에 없는 일종의 ArrayCopy! 동시에 정적 배열의 선언을 빨간색 선으로 강조 표시했습니다.

그리고 불행히도 프로파일러를 사용할 수 없습니다.