Depende de la arquitectura ... Por el momento supongo que es arquitectura x86 (también conocida como SSE).
Puede obtener el factor cuatro en bucles apretados fácilmente. Simplemente reemplace su matemática existente con la instrucción SSE y listo.
Incluso puede obtener un poco más que eso, porque si usa SSE hace los cálculos en registros que generalmente no son utilizados por el compilador. Esto libera el registro de propósito general para otras tareas como control de bucle y cálculo de dirección. En resumen, el código que rodea la instrucción SSE será más compacto y se ejecutará más rápido.
Y luego está la opción de indicarle al controlador de memoria cómo desea acceder a la memoria, p. si desea almacenar datos de forma que evite el caché o no. Para los algoritmos hambrientos de ancho de banda que pueden darte más velocidad adicional.
sí, por el momento esta es la mejor opción que estoy considerando. – flow
Todo lo cual es correcto, pero ortogonal a la pregunta de qué SIMD puede hacer por usted ... – dmckee
¿Qué quiere decir con 'orthogobal'? – flow