Pregunta

Acabo de notar que en nuestro proyecto han salido de la bandera de "Activar conjunto de instrucciones mejorado" deja sin establecer, probablemente sólo un descuido.

Antes de activar la bandera me gustaría preguntar si alguien ha visto ninguna mejora de rendimiento en el mundo real que le permiten?

supongo que vamos a ver una cierta mejora nuestra aplicación constante do flotante calucations basado puntuales, pero no es una parte importante ,.

¿Fue útil?

Solución

Así que en pocas palabras: Esta configuración sólo permite ciertas funciones intrínsecas que se asignan directamente en las instrucciones SSE. En los programas normales de C ++ no utiliza estas funciones intrínsecas, por lo que esta configuración no mejorará el rendimiento.

Si necesita más rendimiento, se podría tratar de encontrar un compilador que reescribe el código para utilizar las instrucciones SSE (Intel afirma que su compilador puede), pero su probablemente más inteligente para ir de múltiples núcleos (con OpenMP o .net 4.0), o utilizar la GPU, lo que es más rápida y más flexible que el SSE.

Otros consejos

La mejora en el rendimiento dependerá de si proyectas usos intensivos de cálculos matemáticos. Para muchas tareas (redes, procesamiento de textos, gestión de datos) esto simplemente no es el caso ya que no hay operaciones de punto flotante (o casi ninguna) se utilizan allí. Por lo tanto, no habrá aumento de rendimiento en absoluto.

El uso de las instrucciones SSE / SSE2 generados por el compilador no generaría un rendimiento superior. En primer lugar, usted no tendrá ningún control sobre la generación de código real. Hay situaciones en las que es necesario utilizar el legado de código (x87) en un sistema antiguo y el código compatible con SSE2 SSE / en un nuevo sistema. Usted también puede tomar ventaja de SSE3 en la mayoría de los sistemas más nuevos. A tal fin, se lo recomiendo para comprobar el tipo de procesador utilizando la instrucción cpuid y el interruptor luego a una aplicación que podría tomar más ventaja de las capacidades del procesador. A continuación, puede utilizar las características intrínsecas del compilador en las implementaciones de orientación SSE / SSE2. Para hacer referencia a SSE3, tendrá una biblioteca dedicada que estoy tratando de localizar en Internet.

Creo, no debe existir bibliotecas que realizan el análisis de las capacidades del procesador y permiten switcing código óptimo. Sólo necesito algo de tiempo para buscar en la red también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top