Avatar billede goatcx Nybegynder
13. september 2001 - 18:23 Der er 4 kommentarer og
1 løsning

Compiler c++

En compiler kan godt optimere koden til et c++ program right ?
Avatar billede bbs Nybegynder
13. september 2001 - 18:23 #1
right
Avatar billede martinskou Nybegynder
13. september 2001 - 18:27 #2
jeps, jeg ved at Intel laver en c++ compiler som kan optimerer til deres forskellige CPU\'ers instruktionssæt...

Compilerne kan dog ikke optimere semantiken, dvs. du slipper ikke for skulle benytte hurtige algoritmer, hvis du vil have hurtige programmer!

Avatar billede jpk Nybegynder
13. september 2001 - 18:30 #3
jep, fx kan

int i=0;
while(i<1000)
  ++i;

optimeres til hvad der svarer til

i=1000;
Avatar billede jelzin101 Praktikant
14. september 2001 - 17:21 #4
ja men det gør compileren ikke....
Avatar billede jpk Nybegynder
23. november 2001 - 22:42 #5
En hastighedsoptimering kompileren kunne udføre er:

Y=a*(y1-avg)+b*(y1-avg)+c*(y1-avg);

Kan optimeres til

Temp=(y1-avg);
Y=a*Temp+b*Temp+c*Temp;

Hvilket igen kan optimeres til

Temp=(y1-avg);
Y=Temp*(a+b+c);


Ligeledes kunne

for(i=0;i<10;i++)
{
  A[i*4]=5;
}

Optimeres til

for(t=0;t<40;t+=4)
{
  A[t]=5;
}

og derved spare en \"kostbar\" gange-operation

Og...

if(x)
{
  b = 1;
} else
{
  b = 2;
}
return b;

bliver

if(x)
{
  b = 1;
  return b;
} else
{
  b = 2;
  return b;
}

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester