OVH Cloud OVH Cloud

mémoire et performances

12 réponses
Avatar
JBB
J'ai une méthode qui recoit des données dans un buffer(que je n'ai pas
besoin de conserver d'un appel sur l'autre).
Je me demande ou il est preferable de mettre mon buffer:

soit (1):

class Truc
{
char buffer[N];

void onLecture()
{
Lire(buffer);
Traiter(buffer);
}

}

ou alors (2):

class Truc
{

void onLecture()
{
char buffer[N];
Lire(buffer);
Traiter(buffer);
}
}


rq: j'ai mit le code directement dans la definition de la classe pour
que cela soit plus clair.


Dans le cas (2) mon buffer se trouve dans la pile, mais du coup il est
réalloué à chaque appel de lecture (ce qui normallement tres rapide).

Dans le cas (1) mon buffer se trouve au même endroit que mon objet Truc,
soit surement dans la pile (ou le tas), et il n'a pas besoin d'être
réalloué à chaque fois.

Ma question est:
a votre avis qu'est qui est le mieux (plus propre, plus performant) ?
(N est de l'ordre de 10000, onLecture est appellée tres souvent 10 fois
par secondes).

2 réponses

1 2
Avatar
Fabien LE LEZ
On Sun, 18 Sep 2005 22:15:30 +0200, James Kanze :

Mais le problème me semble évident


Oui, bon, c'est pas la peine de retourner le couteau dans la plaie non
plus ;-p

Avatar
Stan
"James Kanze" a écrit dans le message de news:
432dcace$0$563$
Jusqu'au jour que dans onLecture (ou dans une fonction qu'il
s'appelle), on appelle onLecture sur un autre objet.


James, ta phrase est difficile à comprendre ;-)
Essaie en anglais...


Je le ferais, mais figure-toi, je ne sais pas l'équivalent
idiomatique de « jusqu'au jour » en anglais (et la reste serait
plus ou moins identique). Je crois que le problème, c'est plutôt
que j'essaie de mettre trop dans la phrase, quelque soit la
langue.



L'expression exacte est " jusqu'au jour où ".

Mais le problème me semble évident -- et assez connu que je ne
croyais pas qu'une explication détaillée soit nécessaire. La


Mais cela m'a permit de te taquiner un peu...

--
-Stan



1 2