A lona é legal! - página 18

 
fxsaber:

Parece haver um mal-entendido sobre o que estava sendo falado aqui. Eu estava falando de um exemplo de um problema particular de Testador, onde os preços inteiros podem dar um ganho em certas situações. O caso universal não estava em mente. É por isso que meu Testador, ao qual eu dei o link acima, é implementado em dublagens, pois é universal.

Não posso concordar 100% do tempo.

Você fez uma afirmação:

Estou quase certo de que se você fizer o tique inteiro, o Testador começará a trabalhar muito mais rápido.

É absolutamente errado quando se tenta implementá-lo na prática. 100% do tempo errado na prática.

Portanto, não há necessidade de entrar na teoria ou na substituição do tema. O tópico é "o testador atual pode ser acelerado quando convertido em inteiro". E o tema está 100% errado, sem exceções.

 
Renat Fatkhullin:

Você fez uma afirmação:

É completamente errado quando se tenta colocá-lo em prática. Na prática, isso é 100% errado.

Portanto, não há necessidade de entrar em teoria ou mudar de assunto. O tópico é "o testador atual pode ser acelerado quando convertido em inteiro". E o tema está 100% errado, sem exceções.

Observe que esta é a única declaração minha em que originalmente tomei a palavra Testador entre aspas. Você entendeu mal o ponto que levantei.

 
fxsaber:

Este é um complemento ao seu Testador, que sem alterar o código de qualquer EA (com quaisquer indicadores) faz um passe completo com todas as negociações e lucros. Mas ele o faz mais rápido do que o Testador regular. Todas as provas reprodutíveis foram dadas. As pessoas do recurso verificaram estas reivindicações.

Mostre-os.

E depois provar que se trata de mudar para um mecanismo inteiro, não que tenhamos implementado ineficientemente um ou outro mecanismo através de supervisão.

Se estamos falando do impacto de recalcular a base de posições em aberto, então realmente há freios lá, que iremos consertar nos próximos dias.
 
fxsaber:

Observe que esta é a única declaração minha em que a palavra Testador foi originalmente tomada por mim entre aspas. Você entendeu mal o assunto que foi levantado.

Eu acertei.

E abordou corretamente o assunto com detalhes desagradáveis para você. Se você acha que não calculamos o testador inteiro, você está muito enganado.

 
Renat Fatkhullin:

Mostre-me.

Mostrar.

E depois provar que se trata de mudar para um mecanismo inteiro, não que tenhamos implementado ineficientemente um ou outro mecanismo através de supervisão.

Desistiram dos testadores de números inteiros porque não eram versáteis. Eles eram mais rápidos, mas havia mais mímicos do que prós. Entretanto, como fenômeno, eles podem existir. Trabalho virtual - em dublagens.

Se estamos falando do impacto de recalcular a base de posições em aberto, há freios reais lá, que iremos corrigir nos próximos dias.

Isso seria ótimo!

 
fxsaber:

Tenho quase certeza de que se você fizer o tique inteiro, o "Testador" será muito mais rápido.

Eu comparei a velocidade do duplo e int nestes dois roteiros idênticos:

Surpreendentemente, a variante com o dobro predominante foi ainda um pouco mais rápida na minha CPU.

Arquivos anexados:
LSD_int.mq5  8 kb
 
Renat Fatkhullin:

Ficou ótimo.

Obtive 347 fps sem antialiasing e 97 com antialiasing em uma tela de 2100x550 pixels.

Para informação, temos um limitador de taxa de atualização de janela de 500 fps. Isto mostra o desempenho que pode ser alcançado nos gráficos.

Obrigado.

Na verdade, com círculos duplos antialiasing são mais lentos do que o original sem círculos int antialiasing em cerca de 20%. Eu tenho 300 vs 250 fps.

É que você aparentemente mediu círculos serrilhados com sombras, e a sombra de um círculo é muito mais voraz do que o próprio círculo. A sombra pode ser desativada com o desenho de uma sombra? = falso.

 
Nikolai Semko:

Eu comparei o desempenho do duplo e int nestes dois roteiros idênticos:

Surpreendentemente, a variante dominada pelo dobro era ainda um pouco mais rápida na minha CPU.

Cuidado com as conversões em massa como (int)double ou (double)int e int+double em operações matemáticas em geral.

Isto dá a mais selvagem sobrecarga na CPU - um comando de montador tão caro. Se você estiver contando em dobro, continue contando nele e não mude para os tipos inteiros.

Comandos como cvtsi2sd/cvttsd2si são muito longos. Uma pequena dica no artigo"A instrução x86 mais lenta", vilão número 2.

O Manual de Referência de Otimização de Arquiteturas Intel® 64 e IA-32 diz que o custo da instrução cvtsd2si é de 5 latências (ver Apêndice C-16). cvtsi2sd, dependendo de sua arquitetura, tem latência variando de 1 em Silvermont até mais 7-16 em várias outras arquiteturas.

As tabelas de instruções da Agner Fog têm números mais precisos/sensíveis, como a latência de 5 ciclos para cvtsi2sd no Silvermont (com 1 por 2 relógios), ou 4c latência no Haswell, com 1 por relógio (se você evitar a dependência do registro de destino de se fundir com a antiga metade superior, como o gcc normalmente faz com pxor xmm0,xmm0).

 
Nikolai Semko:

Obrigado.

Na verdade, com círculos duplos antialiasing são mais lentos do que o original sem círculos int antialiasing em cerca de 20%. Eu tenho 300 vs 250 fps.

É que você aparentemente tem medido círculos com sombras anti-alias, e a sombra de um círculo é muito mais voraz do que o próprio círculo. A sombra pode ser desativada com o desenho de um parâmetro de sombra? = falso.

Acontece que eu estava olhando para a freqüência de geração da web, não para a freqüência de saída.

São números diferentes, múltiplos um do outro.