Multiplicación de 3 x 3 de Laderman con solo 23 multiplicaciones, ¿vale la pena?

Tomemos el producto de dos matrices 3x3.A*B=C. Ingeniosamente esto requiere 27 multiplicaciones usando elalgoritmo estándar. Si uno fuera inteligente, podría hacerlo usando solo 23 multiplicaciones,un resultado encontrado en 1973 por Laderman. La técnica consiste en guardar pasos intermedios y combinarlos de la manera correcta.

Ahora vamos a arreglar un idioma y un tipo, digamos C ++ con elementos dedouble. Si el algoritmo de Laderman fuera de código fijo en comparación con el doble bucle simple, ¿podríamos esperar que el rendimiento de un compilador moderno supere las diferencias de los algoritmos?

Notas sobre esta pregunta: Esto es unprogramación sitio, y la pregunta se formula en el contexto de la mejor práctica para un bucle interno crítico en el tiempo; optimización prematura esto no es. Consejos sobre la aplicación son muy bienvenidos como comentarios.

Respuestas a la pregunta(4)

Su respuesta a la pregunta