Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho il sospetto che l'autore di questo commento non sappia affatto come funziona il processore, la memoria e il compilatore...
Credo che l'autore sia stato così sconsiderato da non capire la domanda.
Cosa c'entrano la memoria e la CPU? La domanda riguardava l'ottimizzazione in MQL5.
P.S. Leggete a vostro piacimento il divertente piccolo libro " Tecnica di sviluppo dell'attenzione, O.A. Andreev, 2007".
Cosa c'entrano la memoria e la CPU? La domanda riguardava l'ottimizzazione in MQL5.
Quindi questo codice, secondo te, non usa né memoria né CPU? E rispondo all'affermazione sui compilatori: "Dovrete impegnarvi a fondo per battere le ottimizzazioni dei compilatori moderni. "
Ho il sospetto che l'autore di questa dichiarazione non sappia affatto come funzionano il processore, la memoria e il compilatore... Sono pronto a scommettere che qualsiasi vostro codice può essere accelerato almeno dieci volte, o anche centinaia di volte.
Quindi, prima cerca di dimostrarlo rispetto al codice in questione. Inoltre, se si crede ai risultati citati da Igor, è il contrario: la dichiarazione all'interno del ciclo funziona un po' più velocemente.
Quindi tutto questo ballare e rimescolare cercando di superare in astuzia il compilatore costa di più alla fine. Rende più difficile al compilatore ottimizzare il codice. Quando una variabile è dichiarata fuori da un blocco, è considerata esterna econserva il suo stato tra le iterazioni. Questo significa che il compilatore ha opzioni limitate per ottimizzarla. Il codice pulito è sempre ottimizzato meglio del codice "sporco" (che ha effetti collaterali), se avete familiarità con il paradigma di programmazione funzionale.
Quindi, prima cerca di dimostrarlo rispetto al codice in questione. Inoltre, se si crede ai risultati citati da Igor, è il contrario: la dichiarazione all'interno del ciclo funziona un po' più velocemente.
Quindi tutto questo ballare e rimescolare cercando di superare in astuzia il compilatore costa di più alla fine. Rende più difficile al compilatore ottimizzare il codice. Quando una variabile è dichiarata fuori da un blocco è considerata esterna e conserva il suo stato tra le iterazioni, il che significa che il compilatore ha capacità limitate di ottimizzarla. Il codice pulito è sempre meglio ottimizzato del codice "sporco" (che ha effetti collaterali) se si conosce il paradigma della programmazione funzionale.
Leggete a vostro piacimento il mio libro, penso che imparerete molto sui compilatori.
Quindi, prima cerca di dimostrarlo rispetto al codice in questione. Inoltre, se si crede ai risultati citati da Igor, è il contrario: la dichiarazione all'interno del ciclo funziona un po' più velocemente.
Quindi tutto questo ballare e rimescolare cercando di superare in astuzia il compilatore costa di più alla fine. Rende più difficile al compilatore ottimizzare il codice. Quando una variabile è dichiarata al di fuori di un blocco, è considerata come una variabile esterna che mantiene il suo stato tra le iterazioni. Questo significa che il compilatore ha opzioni limitate per la sua ottimizzazione. Il codice pulito è sempre ottimizzato meglio del codice "sporco" (che ha effetti collaterali), se avete familiarità con il paradigma di programmazione funzionale.
Il mio test mostra il contrario, il codice con una dichiarazione di variabile dietro il ciclo funziona più velocemente
https://www.mql5.com/ru/forum/320307/page2#comment_12886814
Esegui molte volte, il risultato è stabile, il codice con la dichiarazione della variabile dopo il ciclo, funziona più velocemente
Il mio test mostra il contrario, il codice con una dichiarazione di variabile dietro il ciclo è più veloce
È strano, ma prima l'uomo ha avuto i risultati opposti
Dovresti prima imparare le basi e poi dimostrare il tuo punto di vista. Capireste il risultato senza alcun test, se aveste letto almeno un libro sul funzionamento della CPU e della memoria. Vi ho offerto il più ingegnoso, se volete avanzare un po' nella programmazione, lo leggerete.
Strano, ma prima l'uomo ha avuto i risultati opposti
Ho già detto che un tale test di velocità su un esempio artificiale non è affatto indicativo. La mia ricerca sotto il debugger non è sufficiente? Non ho alcuna credibilità? Tutto ignorato, dipende da voi, io sono fuori.
Inoltre, se si crede ai risultati di Igor di cui sopra, è il contrario.
Non mi credo, controllo sempre due volte, non credo che tu abbia bisogno di aumentare la mia autostima... Ci sono stati diversi casi nella storia, troverò un Napoleone, e andiamo! ))))
È strano, ma prima l'uomo ha ottenuto i risultati opposti.
Perché ho aggiunto srand(GetTickCount()) al mio test? ?
;)