Bonjour à tous, j'essaie de créer une classe Matrice la plus rapide possible.
Je vous demande donc quelques conseils.
Quelques informations :
-Les éléments de ma matrice sont contigus en mémoire (j'ai un T* et non un T**).
-Le nombre de ligne et de colonnes est connus à la compilation (ce sont des templates)
Quelques questions :
En utilisant les templates, et en particulier std::is_pod, j'ai pensé qu'on pourrait optimiser les copies.
-Comment optimiser la création de la matrice ou tous les éléments sont à une valeur donnée et les éléments des pod ? (memset marche que pour des taille d'un octet).
-utiliser memcpy pour les copies si T est un POD.
-Existe-il pour les matrices de manière non intuitive d'effectuer des opérations pour les accélérer (multiplication de matrice, mise à une puissance d'une matrice, ...). Par exemple, lors d'une mise à une puissance, puisque la taille est connue à la compilation, décomposé les facteurs de chaque opération à la compilation ?
-Autres astuces ?
Merci.
SVP, ne dites pas qu'il faut faire quelque chose qui marche avant d'optimiser.
Partager