MT5 e la velocità in azione - pagina 74

 
Roman:

Può approfondire queste ragioni oggettive?

Freni irragionevoli

 
Roman:

Se la gente qui non capisce di cosa si sta scrivendo, mi dispiace, non è un mio problema, è il problema di coloro che non fumano l'argomento della conversazione.

No, è un tuo problema. Sei tu che l'hai tirato fuori senza capire il punto e le implicazioni.

È stato discusso molte volte qui per più di 10 anni.

 
Slava:

Rallentamenti irragionevoli

Quindi un task manager in esecuzione in un ciclo di eventi, spargendo più compiti (pari al numero di gestori) causerà rallentamenti?
Dopo tutto, non ci sono molti gestori, solo alcuni. Hanno solo bisogno di essere sparsi tra i compiti e rilasciati al proprio ciclo di eventi.
Così facendo, controlla il flag di esecuzione del gestore. Il gestore ha funzionato, ha resettato la bandiera e così via.
In qualche modo, non credo nei rallentamenti, non gestiamo tutti gli eventi, ma solo un numero uguale di gestori.
E i gestori stessi hanno i loro eventi.

 
Roman:

Quindi un task manager in esecuzione in un ciclo di eventi, spargendo più compiti (pari al numero di gestori) causerà rallentamenti?
Non ci sono molti gestori, solo alcuni. Hanno solo bisogno di essere sparsi tra i compiti e rilasciati al proprio ciclo di eventi.
Allo stesso tempo, controlla il flag di esecuzione del gestore. Eseguire il gestore, resettare il flag, e così via.
Non tornerà ai freni, non sono gestiti tutti gli eventi, ma solo l'uguale numero di gestori.
I gestori hanno i propri eventi.

Dove c'è uno scrittore, il lettore deve aspettare. Finché lo scrittore non scrive.

Se c'è più di un lettore, deve negoziare le proprie variabili. Mentre un'incarnazione cambia il contenuto della variabile, le altre aspettano. Anche se non ci sono altre incarnazioni al momento, il blocco della risorsa va comunque al nucleo del sistema, un'operazione costosa. Il divertimento inizia quando tutte le incarnazioni inseguono l'ambiente commerciale. Dio non voglia che comincino a commerciare nello stesso momento.

Tutto sommato, i giovani non ascoltano quello che gli viene detto. Ripetutamente. Con esempi. Con spiegazioni. Per più di dieci anni di seguito.

 
Slava:

No. Questo è il tuo problema. Sei tu che l'hai tirato fuori senza capire il punto e le conseguenze.

È stato discusso molte volte qui per più di 10 anni.

Tutto quello che ho visto dagli avversari sono attacchi inadeguati piuttosto che discussioni costruttive.
Se foste intervenuti tempestivamente per chiarire la questione, non ci sarebbero state domande inutili.
E quando uno sviluppatore tace, non si sa cosa pensare. Molto è cambiato nel mondo della tecnologia in 10 anni.
Ok, ora ho capito che mi avete ascoltato, spero che ci ripensiate su questo argomento. Forse puoi risolverlo, sarebbe davvero bello.

 
Roman:

Ho visto solo attacchi inadeguati da parte dei miei avversari, non una discussione costruttiva.
Se foste intervenuti tempestivamente con dei chiarimenti, non ci sarebbero state domande inutili.
E quando uno sviluppatore tace, non si sa cosa pensare. Molto è cambiato nel mondo della tecnologia in 10 anni.
Ok, ora ho capito che mi avete ascoltato, spero che ci ripensiate su questo argomento. Potrebbe essere in grado di risolverlo, sarebbe davvero bello.

Gli attacchi inadeguati sono "shh, ancora?".

Tutte le risposte erano normali. Gli attacchi erano solo da parte mia. Mi dispiace se ti ho offeso.

E i ragazzi hanno risposto in modo adeguato.

 
Slava:

Dove c'è uno scrittore, il lettore deve aspettare. Finché lo scrittore non scrive.

Se c'è più di un lettore, il lettore deve negoziare le proprie variabili.
Mentre un'incarnazione cambia il contenuto della variabile, le altre aspettano.
Anche se non ci sono altre incarnazioni al momento, il blocco della risorsa va comunque al nucleo del sistema, un'operazione costosa.
Il divertimento inizia quando tutte le incarnazioni inseguono l'ambiente commerciale. Dio non voglia che comincino a commerciare nello stesso momento.

Tutto sommato, i giovani non ascoltano quello che gli viene detto. Ripetutamente. Con esempi. Con spiegazioni. Per più di 10 anni di seguito.

Come ho capito da quanto sopra, il problema è la stessa sincronia scrittore/lettore, che può essere costosa.
Nessuna sincronizzazione, nessun problema. Hmmm, succintamente saggio, sul lato dell'ottimizzazione. Grazie per il chiarimento Zio Slava ))
Per favore, non prendetevela neanche con me. Non sono un mago, sto solo imparando ))
Non capisco, nei sistemi in tempo reale, tutto funziona in modalità multitasking, e la procedura di sincronizzazione è lo strumento principale.
Quindi anche l'OSRT è un sistema di frenatura? Non sembra logico. Anche se ci sono anche le scadenze, la latenza e il jitter.

E cosa si può dire del modello a oggetti, c'è una gara qui? O quali possono essere le conseguenze di un tale approccio?


https://www.mql5.com/ru/code/31306

Multi Timer
Multi Timer
  • www.mql5.com
Данная библиотека Вам пригодится, когда Вам необходимы несколько таймеров с независимой обработкой и неконфликтующие между собой. Для работы с данной библиотекой важно запомнить следующие правила: В теле вашей программы не должно быть функции OnTimer , т.к. эта функция уже присутствует в файле Timer.mhq Не надо создавать никаких экземпляров...
 
Roman:

O quali potrebbero essere le conseguenze di un tale approccio?

https://www.mql5.com/ru/code/31306

E con cosa potrebbe essere irto?
Proprio in questo caso, tutto è in balia dell'asincronia e si occuperà di tutto.
 
Nikolai Semko:
E cosa potrebbe mai valere?
Solo in questo caso, tocca all'asincronia occuparsi di tutto.

Ciao Nikolai. Beh, è vero.
Ma non causerà lo stesso problema della sincronizzazione di cui parla Slava, cioè una frenata irragionevole.
O forse non c'è nessun problema? )) Forse, è più facile non usare il modello asincrono che sincronizzarlo con le priorità? ))

 
Roman:

Ciao Nikolai. Questo è vero.
Ma non ci sarà lo stesso problema della sincronizzazione, di cui parla Slava, cioè freni irragionevoli.
O forse non c'è nessun problema? )) Forse è più facile non usare il modello asincrono che sincronizzarlo con le priorità? ))

Non sono un esperto di grafici. L'importanza è determinata dalla dipendenza dell'inizio di altri compiti dalla fine di quello corrente. altri criteri sono secondari. ma c'è anche il tempo di esecuzione del compito. ed è anche il più importante tra i peer-to-peer. In generale è difficile e più triste, l'algoritmo di prioritizzazione non può essere cambiato al volo. Per quanto riguarda il lato positivo, vorrei qualche chiarimento da parte degli sviluppatori prima che sorgano delle domande. È difficile, ma è l'obiettivo giusto nello sviluppo dell'ambiente.