Optimization : Eigen bindings c++
./run data/jouer.csv => cela prend un graph en CSV et cela imprime les communautés obtenues.
./run data/Vdicosyn.csv => ce calcul ne termine même pas chez moi, alors qu'il devrait prendre moins de 10 secondes, c'est le problème.
A la racine tu as : gargantext-graph-exe.prof Je vois 2 pb principaux (n'hésite pas à discuter chaque point):
Je pense qu'il manque au moins un binding Eigen qui serait celui de la somme des colonnes et des lignes, à la fois pour les matrices Dense et Sparse (priorité à Sparse pour tester en premier). Ensuite, l'imap sur la SparseMatrix est très intensif, je me demande si cette partie est bien en C++ (à voir juste après).
#PB de la somme ligne/colonne. En fait la fonction sumWith actuelle n'est pas optimisée: Graph/BAC/ProxemyOptim.sumWith
je crois qu'en Eigen c'est quelque chose du genre: matrix.colwise.sum() matrix.rowwise.sum()
sparsematrix.colwise.sum() sparsematrix.rowwise.sum()
Les types Haskell attendus seraient:
sumWithCol :: SMatrix n -> SparseMatrix 1 n Double sumWithCol :: DMatrix n -> Matrix 1 n Double
sumWithRow :: SMatrix n -> SparseMatrix n 1 Double sumWithRow :: DMatrix n -> Matrix n 1 Double
Ceci est une proposition à discuter éventuellement l'objectif principal étant l'optimisation finale