Megosztás:


A kód optimalizálása

A végrehajtható elemek optimalizálásával egyensúlyt teremthet a gyors végrehajtási sebesség és a kis kódméret között. Ez a témakör a Visual Studio által a kód optimalizálásához nyújtott néhány mechanizmust ismerteti.

Nyelvi funkciók

Az alábbi témakörök a C/C++ nyelv néhány optimalizálási funkcióját ismertetik.

Optimalizálási pragmák és kulcsszavak
A kódban a teljesítmény javítása érdekében használható kulcsszavak és pragmák listája.

A fordító beállításai kategória szerint listázva
Az /O fordító beállításainak listája, amelyek kifejezetten befolyásolják a végrehajtási sebességet vagy a kódméretet.

Rvalue Reference Deklarátor: &>
Az Rvalue-hivatkozások támogatják a mozgatási szemantika megvalósítását. Ha a sablontárak implementálásához áthelyezési szemantikát használ, a sablonokat használó alkalmazások teljesítménye jelentősen javulhat.

Az optimalizáló pragma

Ha a kód optimalizált szakasza hibákat vagy lassulást okoz, az optimalizálási pragma használatával kikapcsolhatja az optimalizálást az adott szakaszhoz.

Csatolja a kódot két pragma közé, ahogy az itt látható:

#pragma optimize("", off)
// some code here
#pragma optimize("", on)

Programozási eljárások

Előfordulhat, hogy további figyelmeztető üzeneteket észlel, amikor optimalizálással fordítja le a kódot. Ez a viselkedés azért várható, mert egyes figyelmeztetések csak az optimalizált kódhoz kapcsolódnak. Számos optimalizálási problémát elkerülhet, ha figyelembe veszi ezeket a figyelmeztetéseket.

Paradox módon a program sebességre optimalizálása a kód lassabb futtatását okozhatja. Ennek az az oka, hogy egyes optimalizálások, amelyek a sebességet növelik, a kód méretének növeléséhez vezethetnek. A függvények beágyazása például csökkenti a függvényhívások által okozott többletkiadást. Azonban a túl sok kód beillesztése esetén a program olyan nagy lehet, hogy megnövekedhet a virtuális memória oldalhibák száma. Ezért a függvényhívások megszüntetéséből nyert sebesség elveszhet a memória felcserélésével.

Az alábbi témakörök a helyes programozási eljárásokat ismertetik.

Tippek a Time-Critical Kód fejlesztéséhez
A jobb kódolási technikák jobb teljesítményt eredményezhetnek. Ez a témakör olyan kódolási technikákat javasol, amelyek segítségével meggyőződhet arról, hogy a kód időkritikus részei megfelelően teljesítenek.

Optimalizálási ajánlott eljárások
Általános útmutatást nyújt az alkalmazás optimalizálásához.

Optimalizált kód hibakeresése

Mivel az optimalizálás megváltoztathatja a fordító által létrehozott kódot, javasoljuk, hogy hibakeresést végezze el az alkalmazáson, mérje meg a teljesítményét, majd optimalizálja a kódot.

Az alábbi témakörök a kiadási buildek hibakeresésével kapcsolatos információkat tartalmaznak.

Az alábbi témakörök a kód létrehozásának, betöltésének és végrehajtásának optimalizálásával kapcsolatos információkat tartalmaznak.

Ebben a szakaszban

Optimalizálási pragmák és kulcsszavak
A fordító átviteli sebességének javítása
Miért veszítik el a pontosságot Floating-Point számok?
IEEE Floating-Point reprezentációja
Tippek a Time-Critical Kód fejlesztéséhez
A függvénynév használata () nélkül nem hoz létre kódot
Optimalizálási ajánlott eljárások
Profile-Guided optimalizálások
Környezeti változók Profile-Guided optimalizáláshoz
PgoAutoSweep
pgomgr
pgosweep
Útmutató: Több PGO-profil egyesítése egyetlen profilba

Lásd még

C/C++ épület referenciája