voracità della memoria RAM di MT5, problemi con la lettura/scrittura di file di grandi dimensioni - pagina 8

 
Horror
 
Алексей Тарабанов:
Horror

Le emozioni sono molto importanti per capire l'atteggiamento di una persona. Tuttavia, è una buona idea capire su cosa si esprimono emozioni così forti?

 

Lasciatemi alleggerire un po' l'atmosfera. Mi sono ricordato di una barzelletta sull'orrore.

Un cliente entra in un bordello. Gli danno una ragazza e salgono al piano di sopra. Dopo un minuto, la ragazza corre fuori dalla stanza e grida "Orrore, orrore!" e corre via. Ok, gli danno il secondo. Entra nella stanza, un minuto dopo corre fuori urlando "orrore, orrore!" e corre via anche lei. Ma il cliente deve essere servito. Poi la stessa padrona di casa va da lui. Passa un'ora. Esce barcollando. Lei dice: "Beh, l'orrore... Ma non horror-horror!" )))

 
Aleksey Vyazmikin:

Avete controllato e non avete trovato alcuna accelerazione? O stai dicendo che sto ingannando tutti qui?

Non c'è nemmeno bisogno di controllare qui. Non ci sarà quasi nessuna accelerazione da un tale cambiamento perché, come in matematica, "la somma non cambia con il cambiamento dei luoghi delle somme". Quindi la fallacia è evidente.

Aleksey Vyazmikin:

Hai letto attentamente questo thread? Hai visto la mia risposta alla soluzione pronta come funzione? Avete un'altra soluzione? Naturalmente, non so cosa sia OOP, un lettore attento di questo ramo l'avrebbe notato subito...

C'è sempre "un'altra soluzione". Ma "un'altra soluzione" in questo caso è inaccessibile a causa della mancanza di conoscenza.

Aleksey Vyazmikin:

Riguardo alla redditività/libertà - questo è ridicolo, ho appena mostrato che le soluzioni a pagamento non le rendono migliori di quelle gratuite, ma tu stai parlando di nuovo di soldi...

Non è stato mostrato nulla. Una soluzione a pagamento fa bene il suo lavoro, ma è usata nel modo sbagliato.

O si paga o si impara - è la legge del mondo moderno.

Qui è un incubo e un caos totale.

 
Roffild:

Non c'è nemmeno bisogno di controllare qui. Non ci sarà quasi nessuna accelerazione da un tale cambiamento perché, come in matematica, "la somma non cambia con il cambiamento dei luoghi delle somme". Quindi la fallacia è evidente.

Beh, come puoi essere così moralista...

Roffild:

C'è sempre "un'altra soluzione". Ma "un'altra soluzione" in questo caso non è disponibile per mancanza di conoscenza.

Quindi lasciate che le persone con conoscenze si esprimano nel merito, se non avete la necessità di aiutare, cosa vi muove?

Roffild:

Non è stato mostrato nulla. La soluzione a pagamento fa bene il suo lavoro, ma è usata nel modo sbagliato.

O si paga o si impara - la legge del mondo moderno.

Qui è un incubo e un caos totale.

Potete dirmi come dovrei usare una classe scritta secondo il mio TOR per i miei scopi?

 
Aleksey Vyazmikin:

Beh, come puoi essere così moralista...

Quindi lasciate che le persone con conoscenze dicano la loro nel merito, se non avete un bisogno di aiutare, cosa vi spinge?

Potete dirmi come dovrei usare una classe scritta secondo il mio TOR per i miei scopi?

L'arroganza mi dà molta esperienza nella programmazione di tali compiti.

Tutti si sono già espressi nel merito. Anche fxsaber ha dato un link a una soluzione. Ma tutte le soluzioni reali sono state rifiutate o ignorate.

La classe è buona, ma il ToR non è stato chiaramente redatto correttamente per scopi che nessuno capisce.

Se è così difficile leggere un file CSV in 10 righe di codice, forse non dovresti farlo tu stesso?

 
Roffild:

Ciò che mi dà fiducia è una grande esperienza nella programmazione di questi compiti.

Tutti si sono già espressi nel merito. Anche fxsaber ha dato un link a una soluzione. Ma tutte le soluzioni reali sono state rifiutate o ignorate.

La classe è buona, ma il ToR non è stato chiaramente redatto correttamente per uno scopo che nessuno capisce.

Se è così difficile leggere un file CSV in 10 righe di codice, forse non dovresti farlo tu stesso?

Il tuo contributo al thread è chiaro.

 

Posso offrire la mia soluzione. Di seguito il codice del test e il risultato. Il file è di 140Mb e ha 2000000 record. Task Manager ha controllato 270MB di utilizzo della memoria (massimo meno la quantità senza lo script)

   ulong lc1=GetTickCount();
   CSV *csv=new CSV();
   csv.Read_from_file("fff0.csv",true);//Чтение с файла с автоматической конвертацией в нужный формат
   csv.Write_to_file("fff1.csv",true); //Запись в файл
   Print(csv.Get_info());              //Вывод информации о таблице(столбцы, строки, типы данных для каждого столбца)
   Print(GetTickCount()-lc1);          //Вывод времени работы
   delete csv;


Ecco un esempio di file CSV utilizzato nel test:

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
FALSE;0.00000000;ORDER_TYPE_BUY;0;0;1970.01.01 00:00
TRUE;1.00000000;ORDER_TYPE_SELL;1;1;1970.01.01 00:00
FALSE;2.00000000;ORDER_TYPE_BUY_LIMIT;2;2;1970.01.01 00:00
FALSE;3.00000000;ORDER_TYPE_SELL_LIMIT;3;3;1970.01.01 00:00

Salvare il file senza contare le enumerazioni

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
0;0.00000000;8;0;0;1970.01.01 00:00
1;1.00000000;0;1;1;1970.01.01 00:00
0;2.00000000;1;2;2;1970.01.01 00:00
0;3.00000000;2;3;3;1970.01.01 00:00
 
Aliaksandr Hryshyn:

Posso offrire la mia soluzione. Di seguito il codice del test e il risultato. Il file è di 140Mb e ha 2000000 record. Task Manager ha controllato 270MB di utilizzo della memoria (massimo meno la quantità senza lo script)


Ecco un esempio di file CSV utilizzato nel test:

Salvare il file senza contare le enumerazioni

Grande! Sono d'accordo nel provare la vostra soluzione.

Motivazione: