Test del nuovo compilatore MQL5 per piattaforme x64 - calcoli da 2 a 10 volte più veloci! - pagina 20
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ottimizzare la logica. Per esempio, lavorare con gli array e i loop. Prova a impacchettare i valori dei criteri in un array. E fare i controlli in un ciclo. Forse allora non ci sarà bisogno in 74 mila casi...
Naturalmente, in teoria, si può generare ogni stringa con un hash lungo, e passare solo questi hash, e poi usarlo per generare tutto - ma non sono sicuro che questo sarà veloce e il compito non è semplice...
1. lì vedrete i punti più "lenti" del codice. Anche se... è un'altra questione se influisce sulla compilazione...
2. Come volete: potete usare il caso. Ti è stato consigliato di rompere in piccole funzioni. Spezzatelo e testatelo. Sì, certo, il codice diventerà più grande. Ma cosa fare.
E qui ho riscritto il codice in funzioni - in appendice.
Ho notato subito che il codice precedente ha preso 14428 kb dopo la compilazione e quello nuovo ha preso 9447 kb - sono già sorpreso dalla differenza di 5 Mbyte - da dove!
Più avanti nella velocità di compilazione, il primo
nuova versione
La nuova versione è 5,46 volte più veloce da compilare.
Ed ecco la versione precedente in termini di velocità:
la nuova versione.
E qui vediamo che il primo passaggio di agenti (4 agenti) è molto lento - ho provato molte volte - il risultato è stabile, ma nel log
Cosa c'entra ora, forse@Renat Fatkhullin o@Slava possono dirmi perché si verifica un tale effetto?
Il file è zippato. Leggi la zip, apri la zip all'interno. Sarà più veloce che trasferire un EA da 500 MB (viene anche trasferito ad ogni agente).
Non viene poi decompresso di nuovo ad ogni nuovo passaggio?
E la lettura dal file sarebbe più veloce di un trasferimento una tantum di....
Non viene poi spacchettato di nuovo ogni volta che viene fatto un nuovo passaggio?
Sì, e la lettura da un file sarebbe più veloce di un singolo passaggio....
Sì, potrebbe essere più lento con l'ottimizzazione... Ma io controllerei, tutto è predisposto per questo.
Sì, potrebbe essere più lento durante l'ottimizzazione... Ma io controllerei, tutto è pronto per questo.
Cosa sia esattamente pronto - non capisco.
Cosa sia esattamente pronto - non capisco.
Lavorare con gli archivi zip.
Lavorare con gli archivi zip.
Sì, l'ho visto, ma non l'ho provato nella pratica.
È più di un problema per me nella preparazione dei dati, cioè tradurre il codice in una tabella - dovrò elaborare di nuovo i dati grezzi...
Ho fatto una versione pubblica dell'EA, ora sto controllando - compilerà o no - il processo non è veloce, ma ora si può vedere che il 46% del codice è compilato e già 36 GB di RAM sono mangiati...
Vi prego di fornirmi il codice per indagare.
Controllerò perché compila così lentamente e consuma così tanta memoria.