Solo non capisco perché il 45% di corde e il resto non sono presi in considerazione?
Includono quelle funzioni native, di cui ho scritto il carico.
RefreshHistory consiste in HistorySelect e HistoryOrderGet, GetHistoryPositionData - da loro + HistoryDealGet.
Aiuta anche a scorrere il codice con gli occhi e ad analizzare le linee più rosse. Tuttavia, non sono sempre evidenziati, se il codice è leggermente più complesso di un foglio.
E tutti quelli che sono chiamati da questa funzione.
Il tempo di esecuzione della funzione A contiene il tempo di esecuzione di tutte le funzioni B, che sono chiamate da A. Tranne quando B è chiamato da qualche altro posto (allora solo una parte del tempo di B andrà ad A).
E tutto ciò che viene chiamato da quella funzione.
Il tempo di esecuzione della funzione A contiene il tempo di esecuzione di tutte le funzioni B, che sono chiamate da A. Tranne quando B è chiamato da qualche altra parte (allora solo una parte del tempo di B andrà in A).
Log del tester (senza visualizzazione) dopo l'esecuzione del profilatore.
2021.11.0803:21:54.358 Core 1 EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in0:00:00.018. Test passed in0:00:22.853 (including ticks preprocessing 0:00:01.219).
2021.11.0803:21:54.358 Core 1 EURUSD,M1: total time from login to stop testing 0:00:22.871 (including 0:00:00.018for history data synchronization)
2021.11.0803:21:54.358 Core 1 disconnected
2021.11.0803:21:54.358 Core 11578 Mb memory used including 24 Mb of history data, 192 Mb of tick data
Subito dopo, il pulsante di avvio del Tester viene premuto a mano.
2021.11.0803:23:00.166 Core 1 EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in0:00:00.029. Test passed in0:00:07.548 (including ticks preprocessing 0:00:01.203).
2021.11.0803:23:00.166 Core 1 EURUSD,M1: total time from login to stop testing 0:00:07.577 (including 0:00:00.029for history data synchronization)
2021.11.0803:23:00.166 Core 1444 Mb memory used including 24 Mb of history data, 192 Mb of tick data
Perché il tempo di esecuzione è tre volte più lungo durante il profiling?
Perché il consumo di memoria è tre volte superiore durante la profilazione?
Solo non capisco perché il 45% di corde e il resto non sono presi in considerazione?
Includono quelle funzioni native, di cui ho scritto il carico.
RefreshHistory consiste in HistorySelect e HistoryOrderGet, GetHistoryPositionData - da loro + HistoryDealGet.
Aiuta anche a scorrere il codice con gli occhi e ad analizzare le linee più rosse. Tuttavia, non sono sempre evidenziati, se il codice è leggermente più complesso di un foglio.
Il 29,41% (non è chiaro perché) è dovuto a una parentesi di chiusura dopo il ritorno. Difficile da interpretare.
Rimozione di variabili di funzioni locali, oggetti locali, ecc.
Questo viene fatto dopo ogni ritorno dalla funzione.
Cancellazione di variabili di funzioni locali, oggetti locali, ecc.
Questo viene fatto dopo qualsiasi ritorno dalla funzione.
Ci sono solo tre variabili ulong.
Aggiunta una ripetizione 20x sulla grande storia.
Il 29,41% (non è chiaro perché) è dovuto a una parentesi di chiusura nel metodo già dopo il ritorno. Difficile da interpretare.
Cosa c'è nel rapporto di questa funzione?
Puoi per favore mostrarmi
Cosa c'è nel rapporto di questa funzione?
Per favore mostratemi
Non sono sicuro che questa informazione sia necessaria. Purtroppo non capisco ancora molto bene i numeri. Mi piacerebbe capirlo.
SZY Ci sono due linee nella tabella sopra con lo stesso Line=1093. Forse quali dati di riproduzione fornire nel PM?
Ci sono solo tre variabili ulong.
E tutti quelli che sono chiamati da questa funzione.
Il tempo di esecuzione della funzione A contiene il tempo di esecuzione di tutte le funzioni B, che sono chiamate da A. Tranne quando B è chiamato da qualche altro posto (allora solo una parte del tempo di B andrà ad A).
E tutto ciò che viene chiamato da quella funzione.
Il tempo di esecuzione della funzione A contiene il tempo di esecuzione di tutte le funzioni B, che sono chiamate da A. Tranne quando B è chiamato da qualche altra parte (allora solo una parte del tempo di B andrà in A).
Intendevo la parentesi di chiusura.
Intendevo la parentesi di chiusura.
Ecco cosa intendevo).
Forse anch'io sto fraintendendo qualcosa.
Log del tester (senza visualizzazione) dopo l'esecuzione del profilatore.
Subito dopo, il pulsante di avvio del Tester viene premuto a mano.
Il profiler mostra chiamate di funzioni che non sono realmente avvenute. Mi sono anche imbattuto in qualcosa del genere:
Una specie di ArrayCopy, che non è nel sorgente mqh-file! Ho anche disegnato una linea rossa nella dichiarazione di un array statico.
Non posso ancora usare il profiler, purtroppo.