Anche gli analoghi sono molto diversi in termini di prestazioni. Il numero di persone che possono scriverli o trovarli è meno di una percentuale di utenti.
Beh, questo è perché il resto delle persone sono abbastanza soddisfatte delle prestazioni disponibili) In effetti, francamente parlando, la maggior parte di questi aumenti di velocità sono apprezzabili solo in misurazioni di test isolati.
Naturalmente, non sostengo che dobbiamo cercare la perfezione, ma è meglio farlo in ordine di priorità.
Perché le altre persone sono abbastanza soddisfatte delle prestazioni disponibili) Dopotutto, la maggior parte di questi aumenti di velocità sono evidenti solo in misurazioni di test isolati.
Anche un guadagno dell'1% nell'ottimizzazione produce risultati tangibili.
Non sostengo certo che si debba tendere alla perfezione, ma è consigliabile farlo in ordine di priorità.
Per MQ sei meno interessante di tutto l'esercito di ragazzi intelligenti di MT4 che per vari motivi non sono passati alla 5.
Analoghi più veloci delle funzioni standard ceil(), floor(), round()
Vantaggio di velocità di 2-2,5 volte
long Ceil (double x) { return (x-(long)x>0)?(long)x+1:(long)x; }
long Round(double x) { return (x>0)?(long)(x+0.5):(long)(x-0.5);}
long Floor(double x) { return (x>0)?(long)x:((long)x-x>0)?(long)x-1:(long)x; }
Risultati dei test di correttezza e velocità:
2018.08.2517:23:23.199 TestRound (EURUSD,M10) Время выполнения ceil = 3.745 наносекунд, Контрольная сумма = 52504928952018.08.2517:23:23.200 TestRound (EURUSD,M10) Время выполнения Ceil = 1.806 наносекунд, Контрольная сумма = 52504928952018.08.2517:23:23.205 TestRound (EURUSD,M10) Время выполнения floor = 4.243 наносекунд, Контрольная сумма = 52494928962018.08.2517:23:23.206 TestRound (EURUSD,M10) Время выполнения Floor = 1.621 наносекунд, Контрольная сумма = 52494928962018.08.2517:23:23.209 TestRound (EURUSD,M10) Время выполнения round = 2.984 наносекунд, Контрольная сумма = 52499928962018.08.2517:23:23.211 TestRound (EURUSD,M10) Время выполнения Round = 1.519 наносекунд, Контрольная сумма = 5249992896
Le funzioni standard restituiscono il tipo double. Ma non l'ho ripetuto perché non capisco perché le funzioni arrotondate hanno bisogno del tipo double.
Nessun nano. 1000000 passaggi, e lo divido per 1000.
Solo che sono ancora più veloci, poiché vengono contati insieme a tutti i contenuti del passaggio del ciclo. Arriverò al mio computer tra 3 ore e sistemerò il calcolo del tempo di esecuzione per queste funzioni.
Nikolai Semko: Le funzioni standard restituiscono il tipo double. Ma non l'ho ripetuto perché non capisco perché le funzioni arrotondate abbiano bisogno del tipo double.
Perché convertire il doppio in intero (in questo modo) è un codice di merda. Round with friends non è progettato per ottenere il tipo intero dal tipo fluttuante.
Anche gli analoghi sono molto diversi in termini di prestazioni. Il numero di persone che possono scriverli o trovarli è meno di una percentuale di utenti.
Beh, questo è perché il resto delle persone sono abbastanza soddisfatte delle prestazioni disponibili) In effetti, francamente parlando, la maggior parte di questi aumenti di velocità sono apprezzabili solo in misurazioni di test isolati.
Naturalmente, non sostengo che dobbiamo cercare la perfezione, ma è meglio farlo in ordine di priorità.
Perché le altre persone sono abbastanza soddisfatte delle prestazioni disponibili) Dopotutto, la maggior parte di questi aumenti di velocità sono evidenti solo in misurazioni di test isolati.
Anche un guadagno dell'1% nell'ottimizzazione produce risultati tangibili.
Non sostengo certo che si debba tendere alla perfezione, ma è consigliabile farlo in ordine di priorità.
Per MQ sei meno interessante di tutto l'esercito di ragazzi intelligenti di MT4 che per vari motivi non sono passati alla 5.
Alternative più veloci a Bars e iBarShift
Analoghi più veloci delle funzioni standard ceil(), floor(), round()
Vantaggio di velocità di 2-2,5 volte
Risultati dei test di correttezza e velocità:
Le funzioni standard restituiscono il tipo double. Ma non l'ho ripetuto perché non capisco perché le funzioni arrotondate hanno bisogno del tipo double.i risultati del test di correttezza e velocità:
Solo non nano, ma miglia.
Solo che non sono nano, sono miglia.
Nessun nano. 1000000 passaggi, e lo divido per 1000.
Interpretazione ambigua allora. Ha deciso di emettere il tempo di ciclo, non il tempo medio di una chiamata di funzione.
Le funzioni standard restituiscono il tipo double. Ma non l'ho ripetuto perché non capisco perché le funzioni arrotondate abbiano bisogno del tipo double.
Perché convertire il doppio in intero (in questo modo) è un codice di merda. Round with friends non è progettato per ottenere il tipo intero dal tipo fluttuante.