Historique des modifications - Message

Message #9625

Sujet: performance vector


Type Date Auteur Contenu
Dernière modification 27-01-2011 09:21:08 Magun
la différence majeur entre le cas 1 et 2, c'est que dans le premier on passe par un constructeur, mais pas dans le second, en effect, pour faire simple on peut également interpreter d'une structure ou d'une class comme un tableau et y acceder comme t'elle.

struct tempory { char *filename; int size; };
tempory tmp;

nous pouvons y acceder par deux manière
la traditionner tmp.variable;
mais aussi tmp, où i est l'emplacement de la variable, donc ici 0 = filename et 1 = size.

sa reviens donc a faire:
char data[] = { a, b, c };
plutot que
char *data = new char[3],
data[0] = a;
data[1] = b;
data[2] = c;

cert concretement cela en revien au même mais le nombre d'intruction est différent
c'est un peut comme if(){} else{} et la forme "contracter" condition ? true : false;

edit: syntaxe
edit 2: non TUpac, l'inline est a éviter, même si cela peut représenter un gain par fois conséquant, ( entre 0 et 15fps ), je te le déconseil si tu souhaite faire du multithreading, sa fous tout en l'aire smile
a la rigeur essaye d'optimiser avec register, et un peut d'asm wink
edit3: if ...
Création du message 27-01-2011 09:11:40 Magun
la différence majeur entre le cas 1 et 2, c'est que dans le premier on passe par un constructeur, mais pas dans le second, en effect, pour faire simple on peut également interpreter d'une structure ou d'une class comme un tableau et y acceder comme t'elle.

struct tempory { char *filename; int size; };
tempory tmp;

nous pouvons y acceder par deux manière
la traditionner tmp.variable;
mais aussi tmp, où i est l'emplacement de la variable, donc ici 0 = filename et 1 = size.

sa reviens donc a faire:
char data[] = { a, b, c };
plutot que
char *data = new char[3],
data[0] = a;
data[1] = b;
data[2] = c;

cert concretement cela en revien au même mais le nombre d'intruction est différent
c'est un peut comme if(){} else{} et la forme "contracter" condition ? true : false;

edit: syntaxe
edit 2: non TUpac, l'inline est a éviter, même si cela peut représenter un gain par fois conséquant, ( entre 0 et 15fps ), je te le déconseil si tu souhaite faire du multithreading, sa fous tout en l'aire smile
a la rigeur essaye d'optimiser avec register, et un peut d'asm wink
edit3: if ...

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
167 invités en ligne
membre en ligne: -
RSS Feed