voracidade da memória MT5 RAM, problemas com a leitura/escrita de arquivos grandes - página 8

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

As emoções são muito importantes para entender a atitude de uma pessoa. No entanto, não é uma má idéia entender o que tais emoções fortes são expressas em relação a?

 

Deixe-me alegrar um pouco o clima. Eu me lembrei de uma piada sobre horror.

Um cliente entra em um bordel. Eles lhe dão uma garota, eles vão lá para cima. Após um minuto, a menina foge da sala e grita "Horror, horror!" e foge. OK, eles lhe dão o segundo. Ela vai para a sala, um minuto depois ela foge gritando "horror, horror!" e foge também. Mas o cliente precisa ser atendido. Então a própria proprietária vai até ele. Uma hora passa. Ela sai cambaleante. Ela diz: "Bem, o horror... Mas não horror-horror!")))

 
Aleksey Vyazmikin:

Você já verificou e não encontrou nenhuma aceleração? Ou você está dizendo que eu estou enganando todos aqui?

Você não precisa nem mesmo verificar aqui. Quase não haverá aceleração de tal mudança porque, como na matemática, "a soma não muda com a mudança dos lugares das somas". Portanto, a falácia é óbvia.

Aleksey Vyazmikin:

Você lê esta linha com atenção? Você já viu minha resposta à solução pronta como uma função? Você tem outra solução? É claro que não sei o que é OOP, um leitor cuidadoso deste ramo teria notado de imediato...

Há sempre "outra solução". Mas "outra solução", neste caso, é inacessível devido à falta de conhecimento.

Aleksey Vyazmikin:

Sobre rentabilidade/livre - isso é ridículo, só mostrei que as soluções pagas não as tornam melhores do que as gratuitas, mas você está falando de dinheiro novamente...

Nada foi mostrado. Uma solução paga faz seu trabalho muito bem, mas é usada da maneira errada.

Ou você paga ou você aprende - é a lei do mundo moderno.

É um pesadelo e um caos total aqui.

 
Roffild:

Você não precisa nem mesmo verificar aqui. Quase não haverá aceleração de tal mudança porque, como na matemática, "a soma não muda com a mudança dos lugares das somas". Portanto, a falácia é óbvia.

Bem, como você pode ser tão autodidata...

Roffild:

Há sempre "outra solução". Mas "outra solução", neste caso, não está disponível devido à falta de conhecimento.

Então deixe as pessoas com conhecimento falarem sobre os méritos, se você não tem a necessidade de ajudar, o que o move?

Roffild:

Nada foi mostrado. A solução paga faz seu trabalho muito bem, mas é usada da maneira errada.

Ou você paga ou você aprende - a lei do mundo moderno.

É um pesadelo total e um caos aqui.

Você pode me dizer como devo usar uma aula escrita de acordo com meu TOR para meus propósitos?

 
Aleksey Vyazmikin:

Bem, como você pode ser tão autodidata...

Então deixe que as pessoas com conhecimento tenham uma palavra a dizer sobre os méritos, se você não tem uma necessidade de ajudar, o que o impulsiona?

Você pode me dizer como devo usar uma aula escrita de acordo com meu TOR para meus propósitos?

A arrogância me dá muita experiência na programação de tais tarefas.

Todos já se pronunciaram sobre os méritos. Até mesmo o fxsaber deu um link para uma solução. Mas todas as soluções reais foram rejeitadas ou ignoradas.

A classe é boa, mas o ToR não foi redigido corretamente para fins que ninguém entende.

Se é tão difícil ler um arquivo CSV em 10 linhas de código, talvez você não devesse fazer isso você mesmo?

 
Roffild:

O que me dá confiança é uma grande experiência em programar tais tarefas.

Todos já se pronunciaram sobre os méritos. Até mesmo o fxsaber deu um link para uma solução. Mas todas as soluções reais foram rejeitadas ou ignoradas.

A classe é boa, mas o ToR não foi redigido corretamente para um propósito que ninguém entende.

Se é tão difícil ler um arquivo CSV em 10 linhas de código, talvez você não devesse fazer isso você mesmo?

Sua contribuição para o fio é clara.

 

Eu posso oferecer minha própria solução. Abaixo está o código de teste e o resultado. O arquivo é de 140Mb em tamanho e tem 2000000 registros. O Gerente de tarefas examinou 270MB de uso de memória (máximo menos a quantidade sem o 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;


Aqui está um exemplo de arquivo CSV usado no teste:

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

Salvando o arquivo sem contar as enumerações

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:

Eu posso oferecer minha própria solução. Abaixo está o código de teste e o resultado. O arquivo é de 140Mb de tamanho e tem 2000000 registros. O Gerente de tarefas examinou 270MB de uso de memória (máximo menos a quantidade sem o script)


Aqui está um exemplo de arquivo CSV usado no teste:

Salvar arquivo sem contar as enumerações

Ótimo! Concordou em experimentar sua solução.