Hello,
Pour ma recherche, j’ai codé un projet de simulation en Python avec Numpy, et je me pose des questions sur l’efficacité. J’envisage de réécrire des parties en C++ mais je me demande si c’est bien utile.
La partie qui m’intéresse consiste en un bout de code qui itère un numpy.array
de taille 3x3 avec des numpy.clongdouble
une centaine de fois.
De plus, j’ai des threads différents qui font la même chose pour des matrices différentes. Je trouve la parallélisation en Python pas tiptop (parce que le partage de mémoire est casse pieds), et je me demande si en C++ ça ne marcherait pas mieux.
Je sais que numpy est connu pour avoir de bonnes performances sur de grands data set, ce qui n’est pas vraiment le cas ici ; et a tendance à pêcher sur le calcul itératif (ce qui est le cas ici). Mais je sais aussi qu’il est codé en dur par du C++/Fortran et je ne sais pas vraiment ce qu’une implémentation en C++ pourrait améliorer.
Et puis une autre problématique est quant à la portabilité et réutilisation. Les matheux sont rarement de bons codeurs, et il est quasi certain que la partie C++ sera trop difficile pour eux à lire. Donc je chercherai un bon facteur d’amélioration pour que ça vaille le coût.
Avez-vous un avis expérimenté sur le sujet ? Merci