C'est un problème très simple :
Je suis en train de programmer un programme Go. Dois-je représenter le tableau avec un QVector<int>
ou un QVector<Player>
où
enum Player
{
EMPTY = 0,
BLACK = 1,
WHITE = 2
};
Je suppose que, bien sûr, l'utilisation de Player au lieu d'entiers sera plus lente. Mais je me demande dans quelle mesure, car je pense que l'utilisation de enum
est un meilleur codage.
J'ai effectué quelques tests concernant l'affectation et la comparaison de Joueurs (par opposition aux int
)
QVector<int> vec;
vec.resize(10000000);
int size = vec.size();
for(int i =0; i<size; ++i)
{
vec[i] = 0;
}
for(int i =0; i<size; ++i)
{
bool b = (vec[i] == 1);
}
QVector<Player> vec2;
vec2.resize(10000000);
int size = vec2.size();
for(int i =0; i<size; ++i)
{
vec2[i] = EMPTY;
}
for(int i =0; i<size; ++i)
{
bool b = (vec2[i] == BLACK);
}
En gros, c'est seulement 10% plus lent. Y a-t-il autre chose que je devrais savoir avant de continuer ?
Merci !