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
Prefiero dividir el código en bloques lógicos y declarar en ellos las variables necesarias, en lugar de crear un montón de variables al principio de una función, la mayoría de las cuales sólo se necesitan en un bloque, en algún lugar muy abajo
En el caso de las variables que se necesitan en un solo lugar, sí, tiene sentido declararlas antes del propio bloque, especialmente cuando éste es pequeño. Pero, si el bloque es lo suficientemente grande y las variables se necesitan en otro lugar, preferiría declararlas al principio de la función. Sin embargo, hay que utilizar el sentido común.
El resultado de ejecutar con un cuerpo de bucle vacío es muy diferente, mucho más rápido
¿Qué se mide en microsegundos? .... ¿Está seguro de que tiene una prueba realista?
;)
Aquí hay otra prueba como esta:
2019.08.18 12:14:20.765 SpeedTest (EURUSD,H1) 1. s1=: loops=100000000 ms=8156
2019.08.18 12:14:29.127 SpeedTest (EURUSD,H1) 2. s2=: loops=100000000 ms=8359
2019.08.18 12:14:37.353 SpeedTest (EURUSD,H1) 3. s3=: loops=100000000 ms=8235
2019.08.18 12:14:45.464 SpeedTest (EURUSD,H1) 4. s4=: loops=100000000 ms=8109
2019.08.18 12:14:53.557 SpeedTest (EURUSD,H1) 5. s5=: loops=100000000 ms=8094
2019.08.18 12:15:01.446 SpeedTest (EURUSD,H1) 1. q=: loops=100000000 ms=7890
2019.08.18 12:15:09.159 SpeedTest (EURUSD,H1) 2. w=: loops=100000000 ms=7703
2019.08.18 12:15:16.903 SpeedTest (EURUSD,H1) 3. e=: loops=100000000 ms=7750
2019.08.18 12:15:24.716 SpeedTest (EURUSD,H1) 4. r=: loops=100000000 ms=7813
2019.08.18 12:15:32.661 SpeedTest (EURUSD,H1) 5. t=: loops=100000000 ms=7937
¿Qué se mide en microsegundos? .... ¿Está seguro de que su prueba se corresponde con la realidad?
Así es como lo mido.
Estoy midiendo de esta manera.
Lo entiendo, pero hay que medir al menos unos segundos
Windows no es un sistema en tiempo real, ¿verdad? Y las tareas en segundo plano también requieren recursos de Windows, por lo que tus pruebas están a la altura de la inexactitud del temporizador del sistema y de los procesos en segundo plano
imho, una prueba de al menos 5 segundos es al menos una información fiable
Lo entiendo, pero hay que medir al menos unos segundos
Windows no es un sistema en tiempo real, ¿verdad? Las tareas en segundo plano también requieren recursos de Windows, por lo que sus pruebas se basan en la inexactitud del temporizador del sistema y los procesos en segundo plano
imho, una prueba de al menos 5 segundos es al menos una información creíble
He medido varios segundos cada uno, el resultado es el mismo, ¿por qué esperar tanto tiempo para publicar el resultado aquí
En general decidí hacer una prueba, pero 100% correcta, para que no se cortara nada.
En el modo no optimizado, la segunda variante resulta efectivamente más rápida, mientras que en el modo optimizado ocurre lo contrario. La segunda variante, por su parte, se vuelve de alguna manera más lenta que antes de la optimización)
Hizo mediciones durante unos segundos a la vez, el resultado es el mismo, ¿por qué esperar mucho tiempo para publicar el resultado aquí
y varias veces la misma prueba debe ser ejecutada, porque hay una alta probabilidad de las operaciones de almacenamiento en caché en la próxima prueba de conseguir, que puede salir que 2 pruebas idénticas con pequeñas diferencias se llevará a cabo de manera diferente - no se ve la diferencia de la misma prueba?
Depende de ti, como escribí arriba, no me fío de nadie, ni siquiera de Windows, del procesador y de mí mismo ;)
En general decidí hacer una prueba, pero 100% correcta, que no se recortara nada.
Mientras que en el modo no optimizado la segunda variante es efectivamente más rápida, en el modo optimizado es viceversa. Y el segundo camino, por alguna razón, se vuelve más lento que antes de la optimización)
No es un hecho, no existe srand() , ya te dije que rand() está muy bien optimizado por el compilador ;)
Y copie el texto de la secuencia de comandos al menos 2 veces - para que pueda ver lo que el compilador ha arrancado ;)
¿Qué tienen que ver la memoria y el procesador? Se trata de la optimización, eres un teórico de libro)
Si vas más allá de los paréntesis de tu razonamiento y comprendes cómo funciona un compilador y cómo funciona su optimización, verás que el objetivo de cualquier compilador es reducir el número de ciclos de reloj de ejecución del código y reducir al máximo los accesos no secuenciales a la memoria. En consecuencia, el resultado de la optimización de cualquier compilador, si existe, lo conocerás de antemano sin necesidad de hacer pruebas tontas. Es como usar pruebas para averiguar que 2 + 2 = 4...
Y sobre el teórico del libro... Este teórico lleva escribiendo desde el año 87, empezando por el EC1020 y el ZX Spectrum, escribió más de un compilador y contrató a más de 600 programadores para su empresa...
Si vas más allá de los paréntesis de tu razonamiento y entiendes cómo funciona el compilador y cómo funciona su optimización, verás que el objetivo de cualquier compilador es reducir el número de ciclos de reloj de ejecución del código y reducir al máximo los accesos no secuenciales a la memoria y, en consecuencia, el resultado de la optimización de cualquier compilador, si la hay, lo conocerás de antemano sin necesidad de hacer pruebas tontas. Es como usar pruebas para averiguar que 2 + 2 = 4...
Y sobre el teórico del libro... Este teórico lleva trabajando desde el año 87, cuando empezó a trabajar con el EU1020 y el ZX Spectrum, escribió varios compiladores propios e invitó a más de 600 programadores a su empresa...
Estáis ocupados con los libros, alabándoos a vosotros mismos, pero no han dicho nada sobre la esencia de la cuestión, sólo han bailado alrededor de la teoría... Si lees esto lo entenderás... La memoria y la CPU, la CPU y la memoria, más sobre la fuente de alimentación, se utiliza allí también ...