Compilazione di programmi MQL5 con set di istruzioni AVX / AVX2 + FMA3 / AVX512 + FMA3 dalla build 3902 - pagina 10

 

È successa una cosa spiacevole (b4040): il risultato del backtest dipende dalla selezione del set di istruzioni di compilazione.

Le dimensioni dei file tst sono 1,5 volte diverse: 13 (AVX) e 17 (X64 Regular) mega. Dire che fa schifo è dire poco.

 
fxsaber #:

È successa la cosa più brutta (b4040): il risultato del backtest dipende dalla scelta del set di istruzioni di compilazione.

Le dimensioni dei file tst differiscono di 1,5 volte: 13 (AVX) e 17 (X64 Regular) mega. Dire che fa schifo è dire poco.

Forse è a causa dell'ottimizzazione. L'ottimizzazione può rompere la logica del programma. Provate senza ottimizzazione, la logica sarà nello stile del vostro testo.
 
fxsaber #:

È successa la cosa più brutta (b4040): il risultato del backtest dipende dalla scelta del set di istruzioni di compilazione.

Le dimensioni dei file tst differiscono di 1,5 volte: 13 (AVX) e 17 (X64 Regular) mega. Dire che fa schifo è dire poco.

Il test funziona correttamente?

 
fxsaber #:

È successa la cosa più brutta (b4040): il risultato del backtest dipende dalla scelta del set di istruzioni di compilazione.

Le dimensioni dei file tst differiscono di 1,5 volte: 13 (AVX) e 17 (X64 Regular) mega. Dire che fa schifo non significa dire nulla.

Se il comportamento dei test è diverso, cercate UB. Se solo le dimensioni vi danno fastidio, è normale).
 
Aleksey Vyazmikin #:

Il test funziona correttamente?

Serve un benchmark per rispondere a questa domanda.

 
Vladimir Simakov #:
Se il comportamento del test è diverso, cercate il vostro UB. Se è solo la dimensione a confondervi, va bene).

Che cos'è?

 
fxsaber #:

Che cos'è?

Un comportamento non definito, a quanto pare. È un comportamento non definito.
 
traveller00 #:
Comportamento indefinito, a quanto pare. È un comportamento indefinito.

Allora il consiglio è inutile.

 
Andiamo a fondo della questione: non dovrebbe accadere.
 
fxsaber #:

Serve un benchmark per rispondere a questa domanda.

Non sto parlando di dove è corretto, ma della modalità di test.

Si può provare a iniziare con semplici Expert Advisor che operano all'apertura, escludendo cioè l'influenza della cronologia dei tick.

Su un numero ridotto di operazioni confrontare il report e studiare visivamente la discrepanza.

Motivazione: