Forum: PC-Programmierung Optimierung in Visual Studio (C)


von Moritz (Gast)


Lesenswert?

Hallo zusammen,

weiß jemand von euch zufällig, ob der C-Compiler vom Visual Studio 
folgendes wegoptimieren kann:
1
static char_T eml_cv4[4] = { 'r', '+', 'b', '\x00' };
2
char_T eml_cv5[4];
3
4
  for(eml_i = 0; eml_i < 4; eml_i++) {
5
    eml_cv5[eml_i] = eml_cv4[eml_i];
6
  }
eml_cv4 wird sonst nirgends verwendet.

Noch besser wär es allerdings, wenn jemand wissen würde, wie man sich am 
besten ansieht was optimiert werden konnte.

Danke schon mal
 Moritz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sofern sizeof char_T eins ist (und beide Arrays an DWORD-Boundaries 
ausgerichtet sind*), könnte der Compiler eine DWORD-Zuweisung draus 
machen.


*) sonst wirds halt langsam; die x86-Architektur erlaubt ja 
Misalignment.

von Peter (Gast)


Lesenswert?

einfach in dem ASM-Code schauen. Dann sieht man was er draus gemacht 
hat. Denke schon das er das Optimieren kann. Aber genau kann es leider 
niemand sagen weil es nicht ein "C-Compiler vom Visual Studio" gibt 
sonder viele verschiedene. Es gab auch versionen die Kostenlos waren 
aber keine hohe optimierung erlaubt haben.

von Karl H. (kbuchegg)


Lesenswert?

Ohne Gewähr:
Die Chancen könnten steigen, wenn du anstelle der Schleife memcpy 
benutzt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.