Primero eliminaremos los factores que pueden causar problemas:
- Implementación: si el código no está optimizado y está mal escrito, tendrá un impacto negativo en todo el proyecto. Si intenta acceder al mismo conjunto de datos en la memoria (digamos el mismo índice de matriz) obtendrá conflictos que rompen las cosas.
- El entorno utilizado para ejecutar puntos de referencia: si el sistema operativo o el sistema ya está utilizando y asignando trabajo a todos los núcleos, el efecto medido puede no ser realmente representativo.
- El lenguaje utilizado para implementar el algoritmo: Java y C #, al ser los lenguajes GCed podría tener un impacto negativo en la implementación general en comparación con un sistema en el que administra las cosas usted mismo. Esto dificulta la implementación, pero vale la pena para grandes conjuntos de datos.
- Los datos que se están ordenando deben merecer la sobrecarga que crea el subproceso, de modo que la sobrecarga se convierta en un factor insignificante.
- Si tiene un conjunto de datos grande, tenga cuidado con sus hilos si usa la recursividad: podría sobrecargar el sistema si su conjunto de datos es tan grande que crea un hilo por rama de recursión. Intente unir hilos cuando se crean a partir de llamadas recursivas.
Casos especiales y detalles
- la ordenación de cubos depende de otro algoritmo, por lo que uno debe optimizarse primero.
- la forma en que configura sus datos ya limitará o acelerará la ordenación rápida .
Los efectos
- Cómo evaluar el efecto del programa de seguridad vial en el comportamiento después de 7 años de implementación si no hay datos de referencia
- Dados dos archivos de registro, cada uno con mil millones de nombres de usuario, ¿cómo podemos encontrar todos los nombres de usuario presentes en ambos archivos de registro de manera eficiente?
- Recientemente llegué a un llamado indicador de opciones binarias del sitio web 'www.investoo.com' que afirma una tasa de éxito del 83% al predecir el resultado de las opciones binarias. ¿Es una estafa?
- Al modelar un autómata determinista de estado finito, ¿qué algoritmo de recorrido gráfico debe usarse?
- ¿Qué es la representación de colas usando array?
Si perfecciona los factores mencionados anteriormente y configura las cosas correctamente:
- multi-threading aumentará el rendimiento de un algoritmo.
- ejecutar el algoritmo en dos subprocesos aumenta el rendimiento hasta dos veces el tiempo de ejecución original, lo que significa que lleva la mitad del tiempo.
- correr en cuatro hilos reduce el tiempo y aumenta la velocidad entre 2.5 y 3 veces.
Desempolva, agrega carne y paquete.