Voici quelques "grossiertés" que j'ai vu dans la source de
Partoche.
En permier je recopie le code original, que je fais suivre de ma correction. Le gain en vitesse est plus ou moins important suivant les cas (parfois pas du tout car TIGCC optimise certaines choses simples) :
for (x=15; x<76; x=x+30)
for (t=0; t<17; t=t+4)
DrawLine (0, x+t,160, x+t,A_NORMAL);
for (x=15; x<76; x+=30)
for (t=x; t<x+17; t+=4)
DrawLine(0, t,160, t,A_NORMAL);
sprintf (&aff[0], "%d", mat[0][0]);
sprintf (&aff[4], "%d", mat[0][1]);
sprintf (aff, "%d", *mat);
sprintf (aff+4, "%d", *(mat+1));
test=test/mat[0][1];
test/= *(mat+1);
if (a>0)
{
...
}
if (a<=0)
{
...
}
if (a>0)
{
...
} else
{
...
}
if (key==263) ...;
if (key==338 && pa!=0)
{
...
}
if (key==344 && pa!=npa)
{
...
}
if (key==268)
{
...
}
if (key==263) ...;
else if (key==338 && pa!=0)
{
...
}
else if (key==344 && pa!=npa)
{
...
}
else if (key==268)
{
...
}
if (nvnote[1]!=3 || nvnote[1]!=6 || nvnote[1]!=12 || nvnote[1]<24)
{
if (nvnote[1]>1 && key == 338)
nvnote[1]=nvnote[1]/2;
if (nvnote[1]<16 && key == 344)
nvnote[1]=nvnote[1]*2;
}
if (nvnote[1]>1 && key == 338) nvnote[1]>>= 1;
else if (nvnote[1]<16 && key == 344) nvnote[1]+= nvnote[1];
if (t!=0)
{
[code A]
}
if ((t>=7 && valalt[0]==-1) || t>=11)
{
[code B]
}
if ((t>=6 && valalt[0]==-1) || t>=12)
{
[code C]
}
if ((t>=5 && valalt[0]==-1) || t>=13)
{
[code D]
}
etc.
if (t)
{
[code A]
if (valalt[0]==-1)
{
switch (t)
{
case 7 : [code B] (pas de 'break')
case 6 : [code C] (pas de 'break')
case 5 : [code D] (pas de 'break')
etc.
}
}
else
switch (t)
{
case 11 : [code B] break;
case 12 : [code B + C] break;
case 13 : [code B + C + D] break;
etc.
}
}
goto menu;
BEURK !!!!!!!!!!!
L'implémentation qui optimisera le plus flagrammant est la dernière (la suite de
ifs que j'ai transformé en suite de
cases). En plus, ton code est dans une boucle, donc le temps gagné est à multiplier par le nombre d'itérations !
Je suppose que certaines de mes modifs te surprennent, n'hésite pas à m'interroger

[edit]Edité par Thibaut le 22-09-2001 à 13:57:14[/edit]