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
Ya hubo una discusión sobre el operador [], que es de alguna manera demasiado lento para el lenguaje C++ como este. No pensé que fuera tan lento como para que ArrayCopy lo destrozara.
Esa es una pregunta aparte sobre los incrementos dentro de los operadores.
¿Por qué te arreglaste y me echaste? No es bueno.
No he echado a nadie. Lo que he descargado, lo he devuelto )))
No echó a nadie. Lo que descargó lo devolvió ))))
Bueno, así que descargaste el 11, el mío es el 12 (abajo) y arreglaste el 11 y lo devolviste como el 13.
Ya hubo una discusión sobre el operador [], que es de alguna manera demasiado lento para el lenguaje C++ como este. No pensé que fuera tan lento como para que ArrayCopy lo destrozara.
Esa es una pregunta aparte sobre los incrementos dentro de los operadores.
Ni siquiera hay operaciones innecesarias aquí. Si el bucle está en curso. No es necesario comprobar si el elemento actual está fuera de los límites cuando se está copiando. Estará dentro de los límites. Y no tiene sentido añadir algo, o sacar una variable más. Si por defecto, hay una i.
En fin, hay todo tipo de cosas triviales. Sólo para información
Bueno, así que descargaste el 11, el mío es el 12 (abajo) y arreglaste el 11 y lo devolviste como el 13.
No prestó atención. Reemplazar el archivo.
también dibujado en este despiadado concurso :-)
De nuevo, no lo he comprobado :-) debería funcionar...
Han recomendado pruebas que contienen errores (Semko y Pavlov) .
Gracias, lo he arreglado.
también esbozado en este despiadado concurso :-)
De nuevo, no lo he comprobado :-) debería funcionar...
incluido, pero hay algo que falla en la primera variante
Vuelvo a mi malentendida diferencia de tiempo de ejecución de casi el 100% idéntica en lógica y número de comprobaciones y sumas de dos bucles:
Así que, de nuevo, por qué esa variante del código de Kuznetsov:
funciona más del doble de rápido que éste, que hace exactamente lo mismo:
¿Cuáles son las maravillas del compilador?
¿Es realmente posible un diseño así?
while(arr[i]!=x && i<j) i++;
el compilador encuentra algún comando de búsqueda especial del ensamblador para el procesador? Pero hay una comprobación adicional i<j dentro, ¿no?
Porque lo mismo a través de for se ejecuta mucho más lento:
Adjunto el código del script de demostración
Así es como suele ocurrir. Estás ocupado con alguna basura innecesaria y descubres algo bastante interesante.
Desarrolladores, ¿podríais echar un vistazo al código ejecutable y ver a qué se debe esta diferencia?
Hay que entender la lógica del compilador para poder crear algoritmos más óptimos en el futuro.
Interesante observación. y por el bien de interés, corrió el código
Vuelvo a mi malentendida diferencia de tiempo de ejecución de casi el 100% idéntica en lógica y número de comprobaciones y sumas de dos bucles:
Así que, de nuevo, por qué esa variante del código de Kuznetsov:
funciona más del doble de rápido que uno que hace exactamente lo mismo:
¿Cuáles son las maravillas del compilador?
¿Es realmente posible que una construcción como esta:
el compilador encuentra algún comando de búsqueda especial del ensamblador para el procesador? Pero hay una comprobación adicional i<j dentro, ¿no?
Porque lo mismo a través de for se ejecuta mucho más lento:
Adjunto el código del script de demostración
Así es como suele ocurrir. Estás ocupado con alguna basura innecesaria y descubres algo bastante interesante.
Desarrolladores, ¿podríais echar un vistazo al código ejecutable y ver a qué se debe esta diferencia?
Hay que entender la lógica del compilador para poder crear algoritmos más óptimos en el futuro.
Creo que es un buen partido para las banderas:
http://osinavi.ru/asm/4.php
Y para los operadores/comparadores innecesarios...