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
)). Esto puede tener un lugar sólo en la artesanía personal con el conocimiento exacto de la gama de valores, pero no en la biblioteca std. Las funciones incorporadas no están escritas por tontos, no te creas el más listo. Aquí hay un amigo que también escribe un comportamiento indefinido y no especificado y luego se sorprende de que no funcione así https://www.linux.org.ru/forum/development/14422428#comments. Todo este ahorro de varios nanosegundos ni siquiera será visible en el algoritmo real (no en el bucle desnudo).
Sólo que ahora me he puesto al día con lo que decías.
Retiro lo de que no estás al tanto. Me disculpo.
Sí, puedes utilizar esa variante con la condición de que el número doble esté en el rango de -9007199254740992 a 9007199254740992 (2 a la potencia de 53 (número de bits en la mantisa))
Piensa en lo que obtendrás fuera del rango de los números enteros.
¿Qué te parece esto?
resultado:
la prueba parece mostrar una identidad completa.
Sin embargo, la velocidad de la solución alternativa en este caso, en el que hay una comprobación de rango, es mayor en unas 2 veces (en lugar de 3-8), pero esto es si el número doble está en el rangode -9007199254740992 a 9007199254740992. Pero es mucho más alto cuando está fuera de este rango.
la prueba parece mostrar una identidad completa.
Sin embargo, esta variante no tiene en cuenta el desbordamiento de la variable de entradade tipo doble, cuando toma los valores nan, snan.
Si hay que tenerlo en cuenta, se puede añadir una comprobación más, pero aun así esta variante funcionará más rápido que la función original
Redactar un EA para un probador/optimizador. Ahí es donde la velocidad en la práctica es importante.
Redactar un EA para un probador/optimizador. Ahí es donde la velocidad es importante en la práctica.
Como muchos saben, también hago gráficos suaves. Las funciones de redondeo se utilizan activamente para suavizar los gráficos y trabajar con cada píxel.
Antes no podía ni imaginar que la función de redondeo fuera más lenta que la extracción de la raíz cuadrada del doble.
Es por esta razón por la que me he acostumbrado a ahogar esos nanosegundos. Porque esos nanosegundos en el gráfico suavizado pueden convertirse en milisegundos en cada fotograma, y un fotograma puede cambiar cada 33 milisegundos.
Como muchos saben, también me ocupo de los gráficos con antialiasing. Las funciones de redondeo se utilizan activamente para los gráficos con antialiasing y para trabajar con cada píxel.
Por eso me he dedicado a suavizar esos nanosegundos. Porque esos nanosegundos en los gráficos suavizados pueden convertirse en milisegundos en cada fotograma, y un fotograma puede cambiar cada 33 milisegundos.
Por supuesto, esto es importante para los gráficos. Por eso, desde hace mucho tiempo existen optimizaciones algorítmicas para casi todas las tareas comunes.
Por supuesto, esto es importante para los gráficos. Por eso, desde hace mucho tiempo existen optimizaciones algorítmicas para casi todas las tareas comunes.
Se equivoca. El campo allí todavía no está arado, y lo que está arado está cerrado. Y en MQL aún más. La clase CCanvas está muy lejos de la optimización y casi no hay antialiasing y lo que hay de antialiasing es insatisfactorio.
¿Por qué no utiliza LONG_MAX/MIN? De alguna manera quedaría más bonito. Se ve bien, creo. He ejecutado tus pruebas con gcc (con una mínima modificación, claro, compilador muy antiguo 5.4.0, lo que tenía a mano):
1. Compilación con -O3.
2. Compilación con -Ofast
Su código tiene un problema con el cálculo del tiempo - salida en milisegundos (no nano), y todavía no entiendo por qué necesita menos t0.
No es así. Todavía hay un campo sin arar, y lo que está arado está cerrado.
Me refería a la experiencia mundial. Mira los algoritmos en los foros temáticos donde hacen demostraciones de gráficos. La gente está compartiendo sus algoritmos rápidos.
Me refería a la experiencia mundial. Busque los algoritmos en los foros temáticos donde se hacen demostraciones de gráficos. La gente está compartiendo algoritmos rápidos.