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
Ótimo, ele fornecerá uma base para comparar MQL e C/C++. Eu apenas forneci os fatos. E de qualquer forma, por que diabos eu deveria ser um Thomas, o Crente?
Pode haver um pouco mais de diferença nos nervos, sem discussão.
E, a propósito, eu gostaria de ver seus "apenas os fatos".
Meus "apenas os fatos" estão quase lá. "Quase" - porque eu desenterrei as fontes dos meus antigos testes. Vou atualizá-los um pouco e depois colocarei as fontes com os resultados dos testes em uma tabela aqui.
Aqui mesmo. Veja meu segundo post na página.
Você, a propósito, já respondeu ao meu post com o link. O código C acima pode ser facilmente retrabalhado em MQL4. Por favor, veja o anexo.
Aqui mesmo. Veja meu segundo post na página.
A propósito, você já respondeu ao meu post com o link. O código C acima é facilmente retrabalhado para a MQL4. Por favor, veja o anexo.
Enviei-lhe um link para as fotos desses gigantes em uma mensagem privada - não para ceder ao digital ******ismo de crianças de escolas vocacionais.
Vamos, acredite, sua foto não mudará seus números aqui nem mesmo por uma porcentagem. Vá em frente e afixe isso.
Mas quanto tempo vai durar? De uma boa maneira, você deve montar um bom resfriamento para tal equipamento, resfriamento de água, digamos, como na próxima foto.
Por favor, anote os resultados dos testes como uma tabela e coloque-os aqui, para que ninguém lendo este tópico tenha que pular através dos links.
Não é uma mesa. Um par de fotos.
Testes de programas parallelpi_x.cpp em diferentes configurações de compilação. Ao comparar com a MQL4, apenas o primeiro resultado é importante: 6.723 segundos. Nenhum acelerador (SSE*, IPP, OML) é usado lá.
Mas se alguém quiser dar uma sacudida e ver como os resultados estão mudando ao ligar os aceleradores, abaixo em anexo está um arquivo com arquivos .exe compilados e bibliotecas paralelas necessárias. Tudo o que você precisa é colocá-los todos em um único diretório e executá-los a partir da linha de comando.
É claro que estes resultados não representam nenhuma competição a monstros na matriz de placas gráficas.
O mesmo programa reescrito em MQL4:
O resultado: 22,98 segundos, ou seja, 3,4 vezes mais. Mas não há trabalho com matrizes lá, e isso pode ser crucial para nós. Em anexo está o código do roteiro.
A MQL5 é 20 vezes mais rápida que a MQL4.
C++ é 6 vezes mais rápido que a MQL5 (ao utilizar bibliotecas que paralelizam automaticamente a execução).
Total: 20*6=120 vezes.
Se você usar cálculos de GPU, será ainda mais rápido.
TOTAL: 10/120=0,083c.
algo como isto.
Então, fanfarra! Há quatro compiladores diferentes no ringue, competindo com... para compilar.
Bem, isso é uma piada, é claro. Mas, falando sério, seis testes foram escritos. Os resultados são mostrados na tabela abaixo. E os comentários são ainda mais baixos. :)
Como os cálculos pesados de teste é usada uma rede neural de 4 camadas MLP 80-100-100-10, projetada como bibliotecas plugáveis ex4, ex5, e dll.
Vemos isso:
- os resultados das ex5 bibliotecas conectadas e ex4 bibliotecas diferem por um fator de 6,8 (1 e 5 testes)
- os resultados das bibliotecas eX5 conectadas e das bibliotecas dll do compilador Intel diferem por um fator de 7,8 (1 e 4 testes)
- resultados das bibliotecas eX4 conectadas e dll-libraries do compilador Intel diferem 62,5 vezes (testes 5 e 6)
Conclusões:
É claro, eu estava um pouco exagerando em relação à diferença de 20 vezes entre a MQL4 e a MQL5. Tal diferença ocorrerá (lembro-me onde esse número apareceu em minha cabeça) sob o uso intensivo de matrizes bidimensionais, mas sou preguiçoso demais para ajustar os testes especificamente para essa característica específica (além disso, não corresponderá a casos típicos de cálculos "pesados" - casos típicos são apresentados em testes), portanto, você pode acreditar em minha palavra ou escrever um teste por si mesmo. Portanto, podemos falar de uma diferença de velocidade 6,8 vezes entre MQL4 e MQL5 e de uma diferença de 62,5 vezes entre MQL4 e C++.
E eu estou desanimado com este fato - ahtung! - O script MQL4 que chamou a dll funciona mais rápido do que o script MQL5 com a mesma dll... O que isso significa? - Verifiquei-o, corri-o várias vezes, sem erros. Os desenvolvedores parecem ter dito que o MT5 otimizou as chamadas dll em comparação com o MT4. Ou são peculiaridades das construções (MT5 574 e MT4 409) e os testes não são muito corretos ou... Eu não sei.
Quem precisa, pode usar o grid (dll compilado de 4 ou 6 testes - grid muito rápido), as fontes estão anexadas. O número de neurônios em cada camada é configurável. Mas o otimizador (tanto para 4 como para 5) não suporta mais de 64 parâmetros, além de que você tem que usar um grande passo, então este monstro (como nos testes, 80-100-100-10, 19210 parâmetros a serem otimizados!) não pode ser treinado usando meios padrão, você tem que usar algoritmos de otimização personalizados. A propósito, para isso (e não apenas para isso) decidi fazer uma ferramenta paga (estará na loja, é claro), que permitirá utilizar otimizadores personalizados de 4 e 5 passos para treinar um número ilimitado de parâmetros, até mesmo 0 passos.
É convincente, joo, muito convincente mesmo. Mas há um par de pontos.
Primeiro, ao compilar por MS, mesmo o melhor resultado (opção 3) é menos de 4 vezes melhor do que a opção 1.
Em segundo lugar, não acredito que o compilador com tudo incluído da Intel seja melhor que a MS por mais do que um fator de 2. Portanto, você possibilitou mais otimizações com a Intel.
Em qualquer caso - impressionante. Esperando que a mesa seja preenchida até o final.
Agora eu sei para que servem estes conjuntos de placas de vídeo: para fazer estes cálculos em cada tic!
Em segundo lugar, não acredito que o compilador com tudo incluído da Intel seja mais do dobro do que o da MS. Portanto, a Intel tem mais otimizações habilitadas.
E, eu estava desanimado com este fato, akhtung! - O script MQL4 que chama dll funciona mais rápido que o script MQL5 com a mesma dll... O que isso significa? - Verifiquei-o, corri-o várias vezes, sem erros. Os desenvolvedores parecem ter dito que o MT5 otimizou as chamadas dll em comparação com o MT4. Ou são peculiaridades das construções (MT5 574 e MT4 409) e os testes não são muito corretos ou... Eu não sei.
Obrigado, é muito ilustrativo e ilustrativo.
Acho que não devemos comparar tanto as porcentagens individuais : porque a velocidade da CPU (bem, se você tomar em MegaHertz MHz, ou GigaHertz, GHz) do computador suspenso ... é zero.
Quando a diferença de velocidade é de cerca de 10-20%, faz sentido estar mais preocupado com a confiabilidade do programa e de seu ambiente e com a manipulação de erros. Por exemplo, ao utilizar DLL feitas no MSC, você deve prestar atenção em como ela está ligada com MSVCRT.DLL e qual versão, porque ela tem que funcionar no ambiente do complicado processo terminal.exe e no ambiente do bloco de inicialização MSVCRT.DLL, que pode diferir de versão para versão, e assim por diante. Para o tratamento normal de erros em DLL, o MetaTrader constrói (e monitora) uma cadeia de exceções, o que por si só retarda todo o sistema e chama DLL e assim por diante.
Sobre a questão da velocidade dos neurônios:
aqui está um homem traduziu a biblioteca da rede neural FANN para OpenCL e reivindica uma aceleração de 20x na média do cartão GTX 285:
"Em minha GPU atual (GeForce 9500 GT), estou obtendo aproximadamente a mesma velocidade entre a versão normal e a versão OpenCL. Atualmente tenho um GTX 285 sob encomenda, e deve ser pelo menos 10x mais rápido. Com uma GPU moderna, como a GTX 480, espero que ela seja pelo menos 20x mais rápida que a minha Nehalem Mac Pro de 2,26GHz. "
...
"Sim, a nova placa (GTX 285) roda o kernel cerca de 20x mais rápido".
http://leenissen.dk/fann/forum/viewtopic.php?f=2&t=658&start=0
http://leenissen.dk/fann/wp/
Quase todos já estiveram lá, é claro.
Para ventiladores fanáticos B4 que não visitam mql5.com : OpenCL: Testes internos de implementação em MQL5
Quase lá, no entanto.
Suspeito que será muito atraente para os auto-comerciantes que utilizam outras plataformas.