Evaluación de los núcleos de la CPU para su optimización - página 11
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
La pregunta que surge es ¿cuál es el efecto - por supuesto he visto en el código, que de hecho han eliminado "si"? Pero me gustaría un comentario, porque no está claro cuál es la ganancia en términos de lógica más rápida.
Solución intuitiva - mover el código grande a la función (incluso mejor sería en un include separado), deshacerse de if, incrementar y romper.
También estoy muy confundido sobre cómo obtener los valores de las variables a analizar. En el ejemplo de la prueba, son aleatorios, pero en la realidad... Yo ya dejaría allí los valores booleanos puros para comprobar (bool_a > 10,0) en lugar de (double_a).
Nueva construcción, nuevo probador, nuevo compilador... en la tabla resumen falta la columna "build mt5
Hasta ahora el resultado es estable - comprobado ayer, así que no esperes saltos de rendimiento de una compilación a otra.
La solución intuitiva es poner el código grande en una función (incluso mejor en un inlude separado) y deshacerse de if, increment y break.
De hecho, ya es una función, ¡así que no está claro por qué se gana en rendimiento!
Yo uso inlude en mi código de trabajo, pero es pura migración de código, ¿cómo propones organizarlo? El bray añade significativamente al rendimiento: ¿cómo puedo deshacerme de él para no perder velocidad?
También estoy muy confundido al obtener los valores de las variables analizadas. En el ejemplo de la prueba son aleatorios, ¿pero en la realidad? Ya dejaría allí los valores booleanos puros, para poder comprobar (bool_a > 10,0) en lugar de (double_a).
En realidad es lo mismo que el doble - los datos se toman de un archivo externo, que se lee completamente en el buffer durante la inicialización. Así que no entendí exactamente cómo hacer un bool con ellos.
El 3800x casi alcanza al i7 8700 en términos de rendimiento en streaming. Y salió del 2700.
¿y se supone que el 3800X no va a romper con el 2700?
Entonces supondré que durante la optimización la frecuencia baja simplemente por ideología. Por el bien de interés, hacer una carrera más larga de cualquier EA - no 16 pases, pero digamos 160 - Me pregunto cómo cambia el tiempo de paso - la diferencia debe ser mínima - dentro de 1 segundo.
F
P.D. ¿Tal vez tengas una prueba que cargue la RAM?
F
P.D. ¿Tal vez tengas una prueba que cargue la RAM?
Gracias, la media era más o menos la misma que la de las 16 pasadas, supondremos que son los datos correctos.
Para la memoria, por desgracia, no hay nada adecuado en el dominio público.
¿No debería el 3800X separarse del 2700?
Debería haberlo hecho, supuse las razones, para tener algo en lo que basar mi elección de plancha en el futuro.
Entendido, gracias.
El bray añade significativamente al rendimiento: ¿cómo puedo deshacerme de él para no perder velocidad?
Sustitúyalo por un retorno, como en mi ejemplo.
En realidad también es doble - los datos se toman del archivo externo, que se lee completamente en el buffer durante la inicialización. Por eso no entendí cómo hacer exactamente un bool.
En lugar de
Hacer
Sustitúyalo por un retornado, como en mi ejemplo.
En lugar de
Hacer
Por desgracia, no soy inteligente, pero X>=0 puede ser mayor que cualquier otro número - hay muchas combinaciones - no se puede prever todo en el código, y el código crecerá en muchos órdenes de magnitud debido a varias combinaciones.