Erros, bugs, perguntas - página 2162
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
Enumeração é uma enumeração de números inteiros.
Se um modelo de função contém
EnumToString();
os problemas ocorrem...
Se o modelo de função contiver
EnumToString();
Os problemas surgem...
É necessário um exemplo.
Fiz uma sobrecarga, uma das quais foi um padrão.
para poder separar as moscas das costeletas.
Fiz uma sobrecarga, uma das quais foi um padrão.
para poder separar as moscas das costeletas.
Optimização da matemática: tentar utilizar arrays em vez de sqrt.
Portanto, tirar um elemento por índice de uma simples matriz deveria ser uma operação muito rápida, não deveria?
por isso tomar um elemento por índice de uma simples matriz deveria ser uma operação muito rápida, não deveria?
Onde se vê uma simples matriz?
É um conjunto dinâmico de uma linguagem gerida com todas as implicações de controlo. E a sqrt é uma única instrução de CPU nativa.
Bem-vindo ao mundo das incríveis descobertas de optimizações e da influência de uma massa de factores em cada caso em cada geração de CPU, cada diferença no tamanho da cache, multitarefas, penalizações, etc.
Apenas há 20 anos atrás eu estava a mexer no código assembler num processador 486, lutando com velocidades que variavam em dezenas de por cento devido à reorganização de instruções, alinhamento e simples posicionamento da memória. Parecia uma loucura, mas os manuais da Intel e Vtune explicaram mais tarde a imagem.
Mas hoje em dia a situação com resultados de optimização já há muito que se descontrolou. Há tantos processadores diferentes com caches diferentes no mercado que o seu código é garantido de executar a velocidades diferentes. As caches de processadores e a arquitectura dos processadores têm um enorme impacto. Mesmo o controlo dinâmico da frequência do CPU tem de ser desligado para remover dezenas de por cento de diferença num padrão de referência.
Por exemplo: átomos com falhas de cache aparentemente em arquitectura decente ou modelos U estrangulados mostram frequentemente resultados várias vezes inferiores mesmo em casos simples. Mais caches falhados e adeus.
Conheço as moscas, já vi as costeletas, mas o problema não é visível sem o código de função.
Onde se vê uma simples matriz?
Não é o caso certo para definir a complexidade. As matrizes são utilizadas em todo o lado, nos indicadores são a parte principal do cálculo, e está agora quase directamente a admitir que a sua implementação de matrizes é lenta.
Creio que é muito melhor nas optimizações, mas do ponto de vista de um utilizador comum parece estranho - afirma-se que o compilador MQL gera código comparável ao C++, mas de repente verifica-se que as matrizes em MQL não são de todo rápidas.Não é o caso certo para definir a complexidade. As matrizes são utilizadas em todo o lado, nos indicadores são a parte principal do cálculo, e está agora quase directamente a admitir que a sua implementação de matrizes é lenta.
Em comparação com um comando de montagem directa de um único montador?
Sim, é. O que não se sabe é que os processadores há muito que têm tabelas pré-calculadas de várias funções matemáticas incorporadas. E os dispendiosos comandos matemáticos da cpu utilizam-nos para acelerar as coisas.
Faremos uma análise detalhada do seu exemplo na segunda-feira e descobriremos a causa exacta.Em comparação com um comando de montagem directa de um único montador?
oíndice da matriz é, na melhor das hipóteses, também reduzido a um único comando de montagem directa, pelo que a questão continua a ser