-
tableaux de bits
Bonjour tout le monde,
Je travaille maitenant sur une implémentation en C++ d'un algorithme à complexité exponentielle au pire des cas et j'effectue plusieurs unions entre des ensemble (leur nombre peut arriver à des milliard d'unions par exécution).
Afin d'accélérer le coût de l'opération d'union, j'ai pensé à l'utilisation des tableaux de bits puisque le ou logique me permet de faire 32 unions en un seul cycle processeur (ceci pour les processeurs 32 bits qui est le cas dans mon ordinateur). Je me suis documenté sur internet à propos des librairies qui implémentent les tableaux de bits en C++ et je n'ai trouvé que deux, la fameuse STL avec la classe bitset et Boost avec la classe dynamic_bitset.
J'ai mené une étude de performance en temps d'exécution à propos de ces deux versions des tableaux de bits et j'ai trouvé que les bitsets de STL sont 2 fois plus rapides que ceux de boost (ce test de performances a été effectué sous windows xp). Alors, j'ai opté pour les bitsets de STL. Mais je n'ai pas arrivé à définir des bitsets dont la taille est contenue dans une variable (x par exemple). Est-t-il possible de définir un bitset dont la taille est contenue dans une variable?Si oui, comment je dois faire?
Merci d'avance.
-
Les bitsets ont une taille statique, les dynamic_bitsets ont une taille dynamique, comme leur nom l'indique, d'où la différence de vitesse. Donc...