Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Tenho um resultado inesperado.
imho, os testes não são comparáveis
A STRUCT2 tem um construtor
A STRUCT2 tem cordas
não há documentação sobre as cordas como implementadas na MQL, discutimoshttps://www.mql5.com/ru/forum/1111/page2732#comment_16181920
isto é, em seu teste, STRUCT2 funciona como uma classe com um construtor, que tem uma "classe string" com um construtor, que está de fato alocando memória para o objeto várias vezes
Eu acho que um teste tão complexo deve ser dividido em vários testes - o tempo de criação das estruturas STRUCT1 e STRUCT2 e depois o tempo de acesso aos dados. Alguns desenvolvedores escreveram que a string é alocada memória somente após acessar a string - em seu exemplo, a string é inicializada por uma string constante, então é difícil ver como ela é inicializada - o compilador pode não inicializar (ou alocar memória?) as strings antes de acessá-las
Eu acho que um teste tão complexo deveria ser dividido em vários testes
Não quero nem me incomodar. Eu fiz estruturas simples.
Por que razão o acesso ao primeiro campo de uma estrutura simples depende de seu tamanho - não é claro.
Eu não quero nem me incomodar. Eu fiz estruturas simples.
Por que razão o acesso ao primeiro campo de uma estrutura simples depende de seu tamanho - não é claro.
É melhor fazer esta pergunta aos desenvolvedores do ramo correspondente. Com código de teste. Ou eles o explicarão, ou o consertarão, ou não dirão nada... Só a terceira variante provavelmente funcionará aqui.
Esta é uma questão que melhor se coloca aos desenvolvedores do ramo em questão. Com o código de teste. Ou o explicarão, ou o consertarão, ou não dirão nada... Aqui provavelmente é apenas a terceira opção.
Meu MT5 começou a causar demasiada profanação. Existem bugs críticos. Isso é uma besteira.
Eu não quero nem me incomodar. Eu fiz estruturas simples.
agora os mesmos testes STRUCT1 e STRUCT3
Não entendo porque o acesso ao primeiro campo de uma estrutura simples depende de seu tamanho.
Este é apenas um jogo de adivinhação.
outra maneira é esperar que alguém faça o mesmo teste em C++ e exibir os resultados. Se houver uma grande diferença, isso significa que a alocação de memória em MQL está mal implementada
se os testes 1 e 2 são mais ou menos os mesmos, é o Windows que está alocando a memória desta forma
Meu MT5 começou a causar demasiada profanação. Existem bugs críticos. Isso é uma besteira.
É aconselhável reportar todos os bugs. Crítico e não. Sem emoção, é claro :)
se os testes 1 e 2 são mais ou menos os mesmos, então é assim que o Windows está alocando memória
realizou o último teste 2 vezes em
Terminal MetaTrader 5 x64 build 2470 iniciado para MetaQuotes Software Corp.
2020.05.30 17:01:27.996 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 53: ArrayResize(Array1,Amount)] = 1 ms.
2020.05.30 17:01:27.996 tst_f (EURUSD,H1) 50000000
2020.05.30 17:01:28.002 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 54: ArrayResize(Array3,Montante)] = 6 ms.
2020.05.30 17:01:28.002 tst_f (EURUSD,H1) 50000000
2020.05.30 17:01:28.515 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 56: Func(Array1)] = 512 ms.
2020.05.30 17:01:28.515 tst_f (EURUSD,H1) 1333106752
2020.05.30 17:01:30.734 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 57: Func(Array3)] = 2218 ms.
2020.05.30 17:01:30.734 tst_f (EURUSD,H1) 1333106752
2020.05.30 17:01:41.278 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 53: ArrayResize(Array1,Amount)] = 2 ms.
2020.05.30 17:01:41.278 tst_f (EURUSD,H1) 50000000
2020.05.30 17:01:41.287 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 54: ArrayResize(Array3,Montante)] = 9 ms.
2020.05.30 17:01:41.287 tst_f (EURUSD,H1) 50000000
2020.05.30 17:01:41.840 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 56: Func(Array1)] = 552 ms.
2020.05.30 17:01:41.840 tst_f (EURUSD,H1) 1333106752
2020.05.30 17:01:43.728 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 57: Func(Array3)] = 1888 ms.
2020.05.30 17:01:43.728 tst_f (EURUSD,H1) 1333106752
nem todos os arquivos estão anexados ao roteiro, as últimas linhas não foram compiladas
Eu tinha o Debug.mqh includindo
UPD: sobre a construção antiga eu fiz o teste
2020.05.30 17:17:27.604 Terminal MetaTrader 5 - construir 2361
2020.05.30 17:13:17.046 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 53: ArrayResize(Array1,Amount)] = 1 ms.
2020.05.30 17:13:17.047 tst (EURUSD,H1) 50000000
2020.05.30 17:13:17.053 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 54: ArrayResize(Array3,Montante)] = 6 ms.
2020.05.30 17:13:17.053 tst (EURUSD,H1) 50000000
2020.05.30 17:13:17.563 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 56: Func(Array1)] = 510 ms.
2020.05.30 17:13:17.563 tst (EURUSD,H1) 1333106752
2020.05.30 17:13:19.416 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 57: Func(Array3)] = 1852 ms.
2020.05.30 17:13:19.416 tst (EURUSD,H1) 1333106752
2020.05.30 17:13:28.971 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 53: ArrayResize(Array1,Amount)] = 2 ms.
2020.05.30 17:13:28.971 tst (EURUSD,H1) 50000000
2020.05.30 17:13:28.977 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 54: ArrayResize(Array3,Montante)] = 6 ms.
2020.05.30 17:13:28.977 tst (EURUSD,H1) 50000000
2020.05.30 17:13:29.456 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 56: Func(Array1)] = 478 ms.
2020.05.30 17:13:29.456 tst (EURUSD,H1) 1333106752
2020.05.30 17:13:31.192 tst (EURUSD,H1) Alerta: Tempo[tst.mq5 57: Func(Array3)] = 1735 ms.
2020.05.30 17:13:31.192 tst (EURUSD,H1) 1333106752
Todos os bugs devem ser relatados, de preferência. Crítico ou não. Unemocionalmente, é claro :)
Foram criadas filiais detalhadas.
Tente trocar os anúncios deles. Não depende de qual deles está no topo da pilha?
2020.05.30 17:33:07.892 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 54: ArrayResize(Array3,Montante)] = 6 ms.
2020.05.30 17:33:07.955 tst_f (EURUSD,H1) 50000000
2020.05.30 17:33:07.957 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 55: ArrayResize(Array1,Amount)] = 1 ms.
2020.05.30 17:33:07.957 tst_f (EURUSD,H1) 50000000
2020.05.30 17:33:09.902 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 58: Func(Array3)] = 1945 ms.
2020.05.30 17:33:09.902 tst_f (EURUSD,H1) 1333106752
2020.05.30 17:33:10.353 tst_f (EURUSD,H1) Alerta: Tempo[tst_f.mq5 59: Func(Array1)] = 450 ms.
2020.05.30 17:33:10.353 tst_f (EURUSD,H1) 1333106752