Que outros meios você sugere? Esta é a opção mais rápida que encontrei até agora...
Otimizar a lógica. Por exemplo, trabalhar com arrays e loops. Tente embalar os valores dos critérios em uma matriz. E fazer verificações em loop. Talvez então não haja necessidade em 74 mil casos...
1. Não, não fizeram - o que exatamente eu deveria ver nele? Eu não sei realmente como usá-lo.
2. É a variante "case :" e não a variante "se" que dá um impulso significativo de velocidade. Se você até faz isso como
O código vai ficar ainda mais rápido... Mas certamente você pode comparar o tempo de compilação e o desempenho...
1. você verá as partes mais lentas do código lá. Embora... Outra questão é se isso afeta a compilação...
2. Como você quiser: você pode usar o case. Você foi aconselhado a dividi-lo em funções menores. Separar e testar. Sim, é claro, o código vai ficar maior. Mas o que fazer.
@Renat Fatkhullin, por favor, esclareça, o profiler pode ajudar a revelar os gargalos de compilação? Ou usá-la apenas para verificar a velocidade do código em tempo real?
Eu transferiria esta enumeração, digamos, para um arquivo CSV externo, mas então surge outro problema - perda de tempo para ler o arquivo, e além disso, ao distribuir tarefas aos agentes eu não sou capaz de enviar 500 megabytes para cada agente, enquanto o código EA é enviado para um agente (ou não?) e dividido entre eles.
E outra pergunta, meu código é facilmente comprimido por 7zip de 500 a 15 megabytes, mas após a compressão, o arquivo ficará em torno de 500 - por que é assim - não há como fazer compressão primitiva (pelo menos até 100 megabytes)?
Comprimir o arquivo por zip. Ler zip, descomprimir por dentro. Será mais rápido do que transferir 500 Mb de EA (também é transferido para cada agente).
Alexey Kozitsyn: @Renat Fatkhullin, você poderia esclarecer, o profiler pode ajudar a revelar os gargalos da compilação? Ou usá-la apenas para verificar a velocidade do código em tempo real?
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
O profiler já foi sugerido?
Opção nº 2. Pegue cada linha de tipo:
em uma função separada. Tente acreditar em Renate:)
Isto é, o resultado deve ser assim no final:
etc.Sim, há aqui um link para a EA.
Já se passaram dois dias - a compilação é de 7%...
Nesta máquina.
O profiler já foi oferecido?
Não, não tem - o que exatamente eu devo ver nele? Eu não sei realmente como usá-lo.
Opção 2. Para colocar cada fio do tipo:
em uma função separada. Tente acreditar em Renat:)
Isto é, o resultado deve ser assim no final:
etc.É a variante "case :" e não a variante "se" que dá um ganho significativo de velocidade. Se você fizer isso assim
O código vai ficar ainda maior. Mas você pode comparar o tempo de compilação e o desempenho, é claro...
Neste carro.
Sim, esse código não é grande, eu não postei um código de 500 megabytes - se você precisar dele eu posso...
Que outros meios você sugere? Esta é a opção mais rápida que encontrei até agora...
Otimizar a lógica. Por exemplo, trabalhar com arrays e loops. Tente embalar os valores dos critérios em uma matriz. E fazer verificações em loop. Talvez então não haja necessidade em 74 mil casos...
1. Não, não fizeram - o que exatamente eu deveria ver nele? Eu não sei realmente como usá-lo.
2. É a variante "case :" e não a variante "se" que dá um impulso significativo de velocidade. Se você até faz isso como
O código vai ficar ainda mais rápido... Mas certamente você pode comparar o tempo de compilação e o desempenho...
1. você verá as partes mais lentas do código lá. Embora... Outra questão é se isso afeta a compilação...
2. Como você quiser: você pode usar o case. Você foi aconselhado a dividi-lo em funções menores. Separar e testar. Sim, é claro, o código vai ficar maior. Mas o que fazer.
Eu transferiria esta enumeração, digamos, para um arquivo CSV externo, mas então surge outro problema - perda de tempo para ler o arquivo, e além disso, ao distribuir tarefas aos agentes eu não sou capaz de enviar 500 megabytes para cada agente, enquanto o código EA é enviado para um agente (ou não?) e dividido entre eles.
E outra pergunta, meu código é facilmente comprimido por 7zip de 500 a 15 megabytes, mas após a compressão, o arquivo ficará em torno de 500 - por que é assim - não há como fazer compressão primitiva (pelo menos até 100 megabytes)?
Comprimir o arquivo por zip. Ler zip, descomprimir por dentro. Será mais rápido do que transferir 500 Mb de EA (também é transferido para cada agente).
@Renat Fatkhullin, você poderia esclarecer, o profiler pode ajudar a revelar os gargalos da compilação? Ou usá-la apenas para verificar a velocidade do código em tempo real?
O perfilador não tem nada a ver com a compilação.