Il mio approccio. Il nucleo è il motore. - pagina 83

 
Реter Konow:
Il motore e il consulente lavorano in un flusso di comunicazione. Ogni cella della tabella è un numero di simovalvole. Oltre a questo, ci sono molti altri elementi che passano i loro valori, stati e così via. È necessario scambiare le righe rapidamente e non sovraccaricare la coda di eventi OnChartEvent().

Prendete SQL e non scervellatevi :-)

 
Nikolai Semko:
Vuoi dire che non hai idea di come fare con le risorse e l'unione?
Vi assicuro che questa è la soluzione più rapida.
Dai, muovi il cervello.

Dopo di te, Nikolai.

Hai offerto l'opzione con l'unione, ma non mi hai mostrato un esempio. Poi sei passato aCharArrayToString eStringToCharArray. Ora si parla di nuovo di un'unione.

Quindi, è il modo migliore per risolvere il problema con la stringa in char e poi di nuovo, con la successiva divisione delle stringhe (le stringhe contengono un assemblaggio di numeri di parametri e i loro valori)?

 
Per il bene dell'interesse, proverò la variante dell'unione. E conCharArrayToString eStringToCharArray. Anche se la mia intuizione mi dice che difficilmente sarà più veloce della comunicazione tramite la descrizione di oggetti МТТ. Ma potrei sbagliarmi. Vediamo...
 
Реter Konow:

Dopo di te, Nikolai.

Non voglio fregarti facendo il tuo lavoro. Per me è importante che tu lo faccia da solo. Altrimenti non capirete.
Piotr, dimmi, usi anche i tanga per passare double, long e int?
 
Nikolai Semko:
Dimmi, Peter, usi anche le stringhe per passare double, long e int?

Il nucleo dei parametri è un singolo array. Ed è di tipo stringa. Per una ragione: è un tipo universale. È molto conveniente. Potete scrivere qualsiasi valore e poi convertirlo nel tipo richiesto.

Altrimenti, sarebbe necessario creare molti nuclei di parametri. Ognuno per il suo tipo di valore. Di conseguenza, avremmo un casino di attributi dei parametri, la loro indicizzazione, la posizione di scrittura e molte altre cose.

 
Nikolai Semko:
Non voglio fregarti facendo il tuo lavoro. Per me è importante che tu lo faccia da solo. Altrimenti non capireste.

Non trolliamo. Il mentoring non è appropriato. Ho capito di più su questo lavoro.


Nikolai, ti ho detto che proverò la tua versione). Quindi lo farò.

 
Maxim Kuznetsov:

prendi SQL e non preoccuparti :-)

Come per seguire la cosa del "non incasinarti la testa" :-)

Sono gentile e per niente malvagio oggi...

Peter, sulla "programmazione visiva" (non solo GUI), per lo sviluppo, in modo da non dover costruire un array su un array,
Date un'occhiata a Oracle, per esempio. Uno dei chiari leader

Visual editor gratis (insieme alla macchina virtuale) è qui ; https://apex.oracle.com/en/

Tutto ciò di cui avete bisogno per iniziare è un libro di "The Beginnings of SQL for Dummies" e un paio di giorni di tempo libero.

Home
  • apex.oracle.com
Oracle APEX makes it easy to build beautiful apps that are responsive, accessible, and can be effortlessly customized to fit your company's brand and personality. The apps you build are responsive out-of-the-box and are designed to work well regardless of screen size or form factor. Our comprehensive set of modern UI components are all built to...
 
Реter Konow:

Non trolliamo. Il tono da mentore è inappropriato. Ho capito di più su questo lavoro.

Non sto cercando di dissuadervi da questo.
Non ho avuto nessun tono del genere. È solo che ho postato diverse volte del codice per te che era molto più veloce del tuo, nella speranza che tu lo imparassi e applicassi metodi più veloci, ma non ne hai mai approfittato.

Perché dovrei fare un lavoro ingrato?
 
Реter Konow:

Il nucleo dei parametri è un singolo array. Ed è di tipo stringa. Per una ragione: è un tipo universale. È molto conveniente. Potete scrivere qualsiasi valore e poi convertirlo nel tipo richiesto.

Altrimenti, sarebbe necessario creare molti nuclei di parametri. Ognuno per il suo tipo di valore. Di conseguenza, ci sarebbe un casino con la proprietà dei parametri, l'indicizzazione, la posizione di scrittura e molte altre cose.

La versatilità è spesso sinonimo di lentezza, e ancora di più con le corde.
Ecco un esempio.

Una volta ho analizzato una stringa ottenuta da uno scambio di criptovalute usando WebRequest. E l'ho analizzato usando lalibreria JSON portata daSergeyev da "high speed C++ library". E ho notato che la velocità è molto insoddisfacente. Lì tutto era fatto attraverso stringhe "universali".

Ho capito che la ragione della bassa velocità era la stringa e volevo evitare di usare le funzioni di stringa e ho scritto una funzione che analizza direttamente dall'array uchar. Il risultato mi ha sorpreso non poco. La mia velocità di analisi era .... (rullo di tamburi) 800 volte più veloce. Se l'analisi di un'intera stringa attraverso JSON ha richiesto 0,3 secondi, la mia funzione l'ha analizzata in meno di mezzo millisecondo.

Ecco un esempio del mio parsing tramite array uchar.

 
Nikolai Semko:

La versatilità è spesso sinonimo di lentezza, e con le corde ancora di più.
Ecco un esempio.

Una volta ho analizzato una stringa ricevuta da un crypto-exchange usando WebRequest. E lo stavo analizzando con lalibreria JSON di Sergeev, che ha portato da "high-speed C++ library". E ho notato che la velocità è molto insoddisfacente. Lì, tutto era implementato tramite stringhe "universali".

Volevo allontanarmi dalle stringhe e ho scritto una funzione che analizza direttamente l'array uchar. Il risultato è stato sorprendente. La mia velocità di analisi è .... (rullo di tamburi) 800 volte più veloce.

Ecco un esempio del mio parsing attraverso un array uchar.

Il parsing json (e il parsing in generale) è una storia diversa ;-)

Ho avuto problemi in un'applicazione di scripting single-thread molto grande che lavorava con la crittografia.
I sospetti cadevano ovunque e come tutto era ottimizzato. Il problema sembrava essere nel parser json di terze parti :-)

È perché le librerie "universali" sono progettate per la versatilità e per lavorare con i json più difficili, ma nel nostro campo semplicemente non ce ne sono,
e tutti i pacchi sono molto corti.

E sì, l'analisi del testo in MQL è un vero piacere :-). Beh, non è progettato per l'analisi del testo. Cioè, si può, ma è una spina nel fianco.

Array, ordini - questo è il dominio di MQL.