===== Commit 2008-07-04 ===== * google sparsehash ===== Modifs ===== * **Compilation / installation des google SparsesHash** * Les Sparsehash de google est une lib qui propose deux implémentations efficaces des hash maps & sets : la ''dense_hash_map'' optimisée pour une vitesse d'accès maxmale & la ''sparse_hash_map'' optimisée pour une utilisation mémoire minimale. * version installée ''sparsehash-1.1.zip'' * Compilation Linux : ce qui marche pour les hashmaps gcc, c'est "tr1/unordered_map" et pas "ext/has_map" => une fois fait le ./configure effectué, il faut modifier le fichier "sparsehash-1.1/include/google/sparsehash/sparseconfig.h" comme suit : /* the location of / */ /* #define HASH_FUN_H */ /* the namespace of hash_map/hash_set */ /* #define HASH_NAMESPACE __gnu_cxx */ #define HASH_NAMESPACE std::tr1 #define HASH_MAP #define HASH_SET #define HASH_FUN_H * Compilation Windows : Si l'on prend les sources tel quel, les includes sont foireux => copier "src/windows/google/sparsehash/sparseconfig.h" -> "src/google/sparsehash/sparseconfig.h" et supprimer l'arborescence windows ... * **utilisation google SparsesHash** * Dans les classes ''Locinv'' & ''DofSet'' ===== Futur Works ===== ===== Tests ===== ===== Projet ===== * Récupere le nouveau package de libs (LibsVs2005-080704.rar)(ou bien juste rajouter le module Google-sparsehash-080704.rar pour ne pas retransferer 200 Mb) => ftp ... * Pour ceux qui compilent leurs propres projet, il faut ajouter au AdditionalIncludeDirectory le répertoire des sparsehash aux projets suivants : $(METAFORLIBS_VS2005)\Google\sparsehash\src mtFEM / _mtFEM mtFEMBase / _mtFEMBase mtElements / _mtElements mtAle / _mtAle IntelSig / _IntelSig * Ajouter dans le meta_config.h : ''#define _WITH_GOOGLE_SPARSEHASH_'' * Linux : Done (+ suppression du profile spirou au bénéfice du profile Linux (vu qu'on n'a plus qu'1 seule machine linux32) * sparsehash installées dans /opt/sparsehash-1.1 ===== ToDo list ===== * ===== Fichiers ajoutés/supprimés ===== A R oo_meta/profiles/spirou/ --- //[[L.Papeleux@ulg.ac.be|Luc PAPELEUX]] 2008/07/04 //