je m interroge sur la vitesse d execution entre une comparaison et un
pointeur de methode.
j ai une class dont une methode peut changer de comportement au cours de
la vie du process, mais cela rarement.
je me demandais si je devais avoir une methode unique avec un bloc
if/else ou alors un pointeur de methode sette a la methode qui va bien.
j ai donc ecrit deux petits programmes de test, et la solution if/else
est /visiblement/ plus rapide.
et donc je me demandais:
- est ce que mon test est pertinent?
- pourquoi une telle difference de temps?
les prog ont ete compile sous un linux 2.6 avec g++ 3.3.5
merci,
def.hh
------
#ifndef DEF_HH
# define DEF_HH
#include <stdlib.h>
#define MAX_LOOP 1000000000
class Test;
typedef int (Test::*behavior_t)(void);
class Test
{
public:
Test() :
_test(true)
{
}
int behavior1(void)
{
return 0;
}
int behavior2()
{
return 0;
}
| Dans le message , | | > Peux-tu donner les références de cette affirmation ? | [...] | > Npn, je n'évite pas de répondre. | | Mais si.
Ecoute : tu essaies de m'attribuer des choses que je n'ai pas dites et en même temps tu m'accuses de ne pas répondre à tes questions.
# Par contre, tu as affirmé que C++ était recommandé pour remplacer # C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
| Tu pouvais simplement dire oui ou non, même si tu | voulais ceci : | | > J'essaie juste de t'amener à lire | > ce que j'ai écrit et non ce que tu imagines que j'ai écrit. | | C'est reparti. Quand tu ne comprends pas ce que j'écris, c'est | ma faute. Quand je ne comprends pas ce que tu as écrit, c'est de | ma faute aussi. :-(
Groumph.
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans le message m3u0ioniu6.fsf@uniton.integrable-solutions.net,
|
| > Peux-tu donner les références de cette affirmation ?
| [...]
| > Npn, je n'évite pas de répondre.
|
| Mais si.
Ecoute : tu essaies de m'attribuer des choses que je n'ai pas dites et
en même temps tu m'accuses de ne pas répondre à tes questions.
# Par contre, tu as affirmé que C++ était recommandé pour remplacer
# C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
| Tu pouvais simplement dire oui ou non, même si tu
| voulais ceci :
|
| > J'essaie juste de t'amener à lire
| > ce que j'ai écrit et non ce que tu imagines que j'ai écrit.
|
| C'est reparti. Quand tu ne comprends pas ce que j'écris, c'est
| ma faute. Quand je ne comprends pas ce que tu as écrit, c'est de
| ma faute aussi. :-(
| Dans le message , | | > Peux-tu donner les références de cette affirmation ? | [...] | > Npn, je n'évite pas de répondre. | | Mais si.
Ecoute : tu essaies de m'attribuer des choses que je n'ai pas dites et en même temps tu m'accuses de ne pas répondre à tes questions.
# Par contre, tu as affirmé que C++ était recommandé pour remplacer # C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
| Tu pouvais simplement dire oui ou non, même si tu | voulais ceci : | | > J'essaie juste de t'amener à lire | > ce que j'ai écrit et non ce que tu imagines que j'ai écrit. | | C'est reparti. Quand tu ne comprends pas ce que j'écris, c'est | ma faute. Quand je ne comprends pas ce que tu as écrit, c'est de | ma faute aussi. :-(
Groumph.
-- Gaby
Gabriel Dos Reis
"Michel Michaud" writes:
| > Enfin bon, faut bien des volontaires pour essuyer les plâtres, | > histoire que tout soit au point quand je m'y mettrai ;-p | | Tu vas attendre combien de temps avant de faire du C++, d'utiliser | Windows ou Linux ? :-)
Parce qu'on ne fait pas de C++ sou Linux ou Windows ou que C++ est une nouvelle technologie ?
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| > Enfin bon, faut bien des volontaires pour essuyer les plâtres,
| > histoire que tout soit au point quand je m'y mettrai ;-p
|
| Tu vas attendre combien de temps avant de faire du C++, d'utiliser
| Windows ou Linux ? :-)
Parce qu'on ne fait pas de C++ sou Linux ou Windows ou que C++ est une
nouvelle technologie ?
| > Enfin bon, faut bien des volontaires pour essuyer les plâtres, | > histoire que tout soit au point quand je m'y mettrai ;-p | | Tu vas attendre combien de temps avant de faire du C++, d'utiliser | Windows ou Linux ? :-)
Parce qu'on ne fait pas de C++ sou Linux ou Windows ou que C++ est une nouvelle technologie ?
-- Gaby
Pierre Maurette
On Wed, 20 Jul 2005 18:30:57 +0200, Guillaume Desticourt :
- est ce que mon test est pertinent?
Est-ce que la différence sera réellement visible par l'utilisateur, dans le programme final ?
Code de la manière la plus claire et lisible possible, et occupe-toi des problèmes de performances si le programme final est effectivement trop lent. Je trouve votre réponse étonnante. Vous considérez à priori que toute
question sur l'optimisation ne sera pas posée. Existent, pratiquant le C++, des gens qui ne sont pas plus idiots que vous et qui ont le droit de (se) poser des questions, éventuellement pour pour le plaisir, ou ne pas mourir idiots. Vous avez celui, si vous ne savez pas, de ne pas répondre. Ce que vous signalez n'est pas faux, loin de là, mais ne peut constituer une réponse unique et définitive à la question posée, et qui m'intéressait également. Pour ce qui est du caractère en charte ou hors charte de la question, je vous demande de parcourir la suite donnée à ce fil (que je n'ai, par lassitude, parcouru qu'en diagonal, je l'avoue). La seule chose qui me paraît en charte, c'est le CV des contributeurs. Quand au ton que vous employez, l'impératif, le tutoiement, il n'est pas simplement grossier, il est grotesque.
-- Pour répondre directement: enlever une lettre sur deux wwaannaaddoooo -> wanadoo
Pierre Maurette
On Wed, 20 Jul 2005 18:30:57 +0200, Guillaume Desticourt
<guillaume.desticourt.invalid@free.fr>:
- est ce que mon test est pertinent?
Est-ce que la différence sera réellement visible par l'utilisateur,
dans le programme final ?
Code de la manière la plus claire et lisible possible, et occupe-toi
des problèmes de performances si le programme final est effectivement
trop lent.
Je trouve votre réponse étonnante. Vous considérez à priori que toute
question sur l'optimisation ne sera pas posée.
Existent, pratiquant le C++, des gens qui ne sont pas plus idiots que
vous et qui ont le droit de (se) poser des questions, éventuellement
pour pour le plaisir, ou ne pas mourir idiots. Vous avez celui, si vous
ne savez pas, de ne pas répondre.
Ce que vous signalez n'est pas faux, loin de là, mais ne peut
constituer une réponse unique et définitive à la question posée, et qui
m'intéressait également.
Pour ce qui est du caractère en charte ou hors charte de la question,
je vous demande de parcourir la suite donnée à ce fil (que je n'ai, par
lassitude, parcouru qu'en diagonal, je l'avoue). La seule chose qui me
paraît en charte, c'est le CV des contributeurs.
Quand au ton que vous employez, l'impératif, le tutoiement, il n'est
pas simplement grossier, il est grotesque.
--
Pour répondre directement: enlever une lettre sur deux
wwaannaaddoooo -> wanadoo
On Wed, 20 Jul 2005 18:30:57 +0200, Guillaume Desticourt :
- est ce que mon test est pertinent?
Est-ce que la différence sera réellement visible par l'utilisateur, dans le programme final ?
Code de la manière la plus claire et lisible possible, et occupe-toi des problèmes de performances si le programme final est effectivement trop lent. Je trouve votre réponse étonnante. Vous considérez à priori que toute
question sur l'optimisation ne sera pas posée. Existent, pratiquant le C++, des gens qui ne sont pas plus idiots que vous et qui ont le droit de (se) poser des questions, éventuellement pour pour le plaisir, ou ne pas mourir idiots. Vous avez celui, si vous ne savez pas, de ne pas répondre. Ce que vous signalez n'est pas faux, loin de là, mais ne peut constituer une réponse unique et définitive à la question posée, et qui m'intéressait également. Pour ce qui est du caractère en charte ou hors charte de la question, je vous demande de parcourir la suite donnée à ce fil (que je n'ai, par lassitude, parcouru qu'en diagonal, je l'avoue). La seule chose qui me paraît en charte, c'est le CV des contributeurs. Quand au ton que vous employez, l'impératif, le tutoiement, il n'est pas simplement grossier, il est grotesque.
-- Pour répondre directement: enlever une lettre sur deux wwaannaaddoooo -> wanadoo
Pierre Maurette
Fabien LE LEZ
On Thu, 21 Jul 2005 22:11:08 +0200, "Pierre Maurette" :
Vous considérez à priori que toute question sur l'optimisation ne sera pas posée.
L'OP avait posé (entre autre) une question : "est ce que mon test est pertinent?" J'ai répondu : non. (Bon, d'accord, je ne l'ai pas dit explicitement. Alors je le fais maintenant pour celui qui n'avait pas compris.)
On Thu, 21 Jul 2005 22:11:08 +0200, "Pierre Maurette"
<mmaauurreetttteeppiieerrrree@wwaannaaddoooo.ffrr>:
Vous considérez à priori que toute
question sur l'optimisation ne sera pas posée.
L'OP avait posé (entre autre) une question : "est ce que mon test est
pertinent?"
J'ai répondu : non. (Bon, d'accord, je ne l'ai pas dit explicitement.
Alors je le fais maintenant pour celui qui n'avait pas compris.)
On Thu, 21 Jul 2005 22:11:08 +0200, "Pierre Maurette" :
Vous considérez à priori que toute question sur l'optimisation ne sera pas posée.
L'OP avait posé (entre autre) une question : "est ce que mon test est pertinent?" J'ai répondu : non. (Bon, d'accord, je ne l'ai pas dit explicitement. Alors je le fais maintenant pour celui qui n'avait pas compris.)
Gabriel Dos Reis
"Pierre Maurette" writes:
| Quand au ton que vous employez, l'impératif, le tutoiement, il n'est | pas simplement grossier, il est grotesque.
Et ce passage se voulait la preuve par l'exemple ?
| Quand au ton que vous employez, l'impératif, le tutoiement, il n'est | pas simplement grossier, il est grotesque.
Et ce passage se voulait la preuve par l'exemple ?
-- Gaby
Arnaud Meurgues
Michel Michaud wrote:
D'ailleurs, je n'ai pas dit « fait », j'ai dit « fera » (ou plutôt « vont faire ». Ceux qui feront du C++/CLI feront du vrai C++/CLI, ce sera la chose normale, courante, standard quoi (oups !). Pour le moment personne ne peut vraiment faire du C++/CLI...
Encore que. S'il y a plusieurs implémentation de C++/CLI (ce qui est loin d'être impossible, voir go-nomo), n'y a-t-il pas des chances que, comme pour C++, l'interprétation ou le respect de la norme varie avec l'implémentation choisie ? Du coup, ne risque-t-on pas de se retrouver dans une situation similaire à celle de C++ ?
Arnaud
Michel Michaud wrote:
D'ailleurs, je n'ai pas dit « fait », j'ai dit « fera » (ou plutôt
« vont faire ». Ceux qui feront du C++/CLI feront du vrai C++/CLI,
ce sera la chose normale, courante, standard quoi (oups !). Pour le
moment personne ne peut vraiment faire du C++/CLI...
Encore que. S'il y a plusieurs implémentation de C++/CLI (ce qui est
loin d'être impossible, voir go-nomo), n'y a-t-il pas des chances que,
comme pour C++, l'interprétation ou le respect de la norme varie avec
l'implémentation choisie ? Du coup, ne risque-t-on pas de se retrouver
dans une situation similaire à celle de C++ ?
D'ailleurs, je n'ai pas dit « fait », j'ai dit « fera » (ou plutôt « vont faire ». Ceux qui feront du C++/CLI feront du vrai C++/CLI, ce sera la chose normale, courante, standard quoi (oups !). Pour le moment personne ne peut vraiment faire du C++/CLI...
Encore que. S'il y a plusieurs implémentation de C++/CLI (ce qui est loin d'être impossible, voir go-nomo), n'y a-t-il pas des chances que, comme pour C++, l'interprétation ou le respect de la norme varie avec l'implémentation choisie ? Du coup, ne risque-t-on pas de se retrouver dans une situation similaire à celle de C++ ?
Arnaud
Michel Michaud
Dans le message ,
Et la conclusion est ?
Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
[...]
Évidemment, je ne peux que parler pour ma région du monde...
J'allais le suggérer.
J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message m38y003soj.fsf@uniton.integrable-solutions.net,
Et la conclusion est ?
Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
[...]
Évidemment, je ne peux que parler pour ma région du monde...
J'allais le suggérer.
J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
[...]
Évidemment, je ne peux que parler pour ma région du monde...
J'allais le suggérer.
J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Gabriel Dos Reis
"Michel Michaud" writes:
| Dans le message , | > Et la conclusion est ? | | Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
Quelle serait la chaîne d'inférences logiques en amont ?
| [...] | >> Évidemment, je ne peux que parler pour ma région du monde... | > | > J'allais le suggérer. | | J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
Il n'y avait pas de raison.
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans le message m38y003soj.fsf@uniton.integrable-solutions.net,
| > Et la conclusion est ?
|
| Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
Quelle serait la chaîne d'inférences logiques en amont ?
| [...]
| >> Évidemment, je ne peux que parler pour ma région du monde...
| >
| > J'allais le suggérer.
|
| J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
| Dans le message , | > Et la conclusion est ? | | Qu'on ne peut pas te convaincre de quoi que ce soit ? :-)
Quelle serait la chaîne d'inférences logiques en amont ?
| [...] | >> Évidemment, je ne peux que parler pour ma région du monde... | > | > J'allais le suggérer. | | J'ai longtemps hésité à dire « et toi aussi d'ailleurs »...
Il n'y avait pas de raison.
-- Gaby
Guillaume Desticourt
Guillaume Desticourt wrote:
bonsoir,
je m interroge sur la vitesse d execution entre une comparaison et un pointeur de methode.
Juste pour info, l'implementation fait probablement elle-meme un test sur le pointeur pour savoir s'il sagit d'un pointeur de fonction membre ou de methode.
quelle difference fais tu entre entre une fonction membre et une methode?? je croyais que cela designait la meme chose...
cordialement,
-- Guillaume Desticourt
Guillaume Desticourt wrote:
bonsoir,
je m interroge sur la vitesse d execution entre une comparaison et un
pointeur de methode.
Juste pour info, l'implementation fait probablement elle-meme un test
sur le pointeur pour savoir s'il sagit d'un pointeur de fonction membre
ou de methode.
quelle difference fais tu entre entre une fonction membre et une
methode?? je croyais que cela designait la meme chose...
je m interroge sur la vitesse d execution entre une comparaison et un pointeur de methode.
Juste pour info, l'implementation fait probablement elle-meme un test sur le pointeur pour savoir s'il sagit d'un pointeur de fonction membre ou de methode.
quelle difference fais tu entre entre une fonction membre et une methode?? je croyais que cela designait la meme chose...
cordialement,
-- Guillaume Desticourt
Michel Michaud
Dans le message ,
"Michel Michaud" writes: # Par contre, tu as affirmé que C++ était recommandé pour remplacer # C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
Ta phrase était :
C'est intéressant, parce que selon des sources sûres, MS encourage les dévelopements internes en C++, et non plus en C# comme cela a été la politique juste après le lancement de la propagande C#.
Alors évidemment tu n'as pas dit ce que j'ai dit que tu as dit. Désolé.
Mais je prétends maintenant la même chose sur cette phrase. C'est de C++/CLI dont il faut parler. Je ne sais pas qui est ta taupe, mais je vais me fier à l'avis de Herb Sutter, pour le moment en tout cas...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message m3r7dsx80d.fsf@uniton.integrable-solutions.net,
"Michel Michaud" <mm@gdzid.com> writes:
# Par contre, tu as affirmé que C++ était recommandé pour remplacer
# C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
Ta phrase était :
C'est intéressant, parce que selon des sources sûres, MS encourage
les dévelopements internes en C++, et non plus en C# comme cela a
été la politique juste après le lancement de la propagande C#.
Alors évidemment tu n'as pas dit ce que j'ai dit que tu as dit.
Désolé.
Mais je prétends maintenant la même chose sur cette phrase.
C'est de C++/CLI dont il faut parler. Je ne sais pas qui est ta
taupe, mais je vais me fier à l'avis de Herb Sutter, pour le
moment en tout cas...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
"Michel Michaud" writes: # Par contre, tu as affirmé que C++ était recommandé pour remplacer # C# chez MS.
Tu ne m'as toujours pas montrer où j'ai affirmé ça.
Ta phrase était :
C'est intéressant, parce que selon des sources sûres, MS encourage les dévelopements internes en C++, et non plus en C# comme cela a été la politique juste après le lancement de la propagande C#.
Alors évidemment tu n'as pas dit ce que j'ai dit que tu as dit. Désolé.
Mais je prétends maintenant la même chose sur cette phrase. C'est de C++/CLI dont il faut parler. Je ne sais pas qui est ta taupe, mais je vais me fier à l'avis de Herb Sutter, pour le moment en tout cas...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/