• [^] # Re: Avantage ?

    Posté par (site web personnel) . En réponse au journal [C++14 ] Expressions template pour les nuls. Évalué à 2.

    Il doit y en avoir. Peut être est-ce la simplicité de l'exemple qui ne me permet pas de le voir. Eventuellement du lazy loading (l'expression n'est évaluée que lorsqu'elle est nécessaire) ?

    Imagine 5 secondes que a, b et c sont trois matrix de trés grande tailles et que tu enchaînes des opérations beaucoup plus complexe qu'une simple multiplication et soustraction.

    L'ordre dans lequel tu appliques tes opérations (suivant la taille de chacune de tes matrix) peut avoir un impact énorme sur le temps de calcul nécessaire.

    De même pour la nécessité à copier la mémoire ou non, sur des matrix trés grande, ou lorsque tu as besoin de transposition.

    Ce sont des optimisations que presque l’intégralité des bibliothèques désignés pour faire de l'algèbre linéaire mettre en oeuvre en C++: Eigen, Armadillo, blaze, etc, etc.