Aracılığıyla paylaş


Kodunuzu iyileştirme

Yürütülebilir dosyayı iyileştirerek, hızlı yürütme hızı ile küçük kod boyutu arasında bir denge elde edebilirsiniz. Bu konuda, Visual Studio'nun kodu iyileştirmenize yardımcı olmak için sağladığı bazı mekanizmalar açıklanmaktadır.

Dil özellikleri

Aşağıdaki konularda C/C++ dilindeki iyileştirme özelliklerinden bazıları açıklanmaktadır.

Pragmaları ve Anahtar Sözcükleri İyileştirme
Performansı artırmak için kodunuzda kullanabileceğiniz anahtar sözcüklerin ve pragmaların listesi.

Kategorilere Göre Listelenen Derleyici Seçenekleri
Yürütme hızını veya kod boyutunu özel olarak etkileyen /O derleyici seçeneklerinin listesi.

Rvalue Başvuru Bildirimcisi: &&
Rvalue başvuruları taşıma semantiğinin uygulanmasını destekler. Şablon kitaplıklarını uygulamak için taşıma semantiği kullanılırsa, bu şablonları kullanan uygulamaların performansı önemli ölçüde iyileştirebilir.

İyileştirme pragması

Kodun iyileştirilmiş bir bölümü hatalara veya yavaşlamalara neden oluyorsa, ilgili bölüm için iyileştirmeyi kapatmak için iyileştirme pragması'nı kullanabilirsiniz.

Kodu burada gösterildiği gibi iki pragma arasına alın:

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

Programlama uygulamaları

Kodunuzu iyileştirme ile derlerken ek uyarı iletileriyle karşınıza çıkabilir. Bazı uyarılar yalnızca iyileştirilmiş kodla ilişkili olduğundan bu davranış beklenir. Bu uyarılara dikkat ederseniz birçok iyileştirme sorununu önleyebilirsiniz.

Paradoksal olarak, bir programın hız için iyileştirilmesi kodun daha yavaş çalışmasına neden olabilir. Bunun nedeni, kod boyutunu artırmak için bazı iyileştirmeler yapmaktır. Örneğin, işlevlerin çizilmesi işlev çağrılarının yükünü ortadan kaldırır. Ancak, çok fazla kod çizilmesi, programınızın sanal bellek sayfası hatalarının sayısının artması için o kadar büyük olmasını sağlayabilir. Bu nedenle işlev çağrılarının ortadan kaldırılmasından elde edilen hız, bellek değiştirme işleminde kaybolabilir.

Aşağıdaki konularda iyi programlama uygulamaları ele alınmalıdır.

Zamana Bağlı Kodu Geliştirme İpuçları
Daha iyi kodlama teknikleri daha iyi performans sağlayabilir. Bu konu, kodunuzun zaman açısından kritik bölümlerinin tatmin edici bir şekilde çalıştığından emin olmanıza yardımcı olabilecek kodlama tekniklerini önerir.

En İyi Uygulamaları İyileştirme
Uygulamanızı en iyi duruma getirme hakkında genel yönergeler sağlar.

İyileştirilmiş kodda hata ayıklama

İyileştirme derleyici tarafından oluşturulan kodu değiştirebileceğinden, uygulamanızda hata ayıklaması yapmanızı, performansını ölçmenizi ve ardından kodunuzu iyileştirmenizi öneririz.

Aşağıdaki konular yayın derlemelerinde hata ayıklama hakkında bilgi sağlar.

Aşağıdaki konular kodunuzu derleme, yükleme ve yürütmeyi iyileştirme hakkında bilgi sağlar.

Bu bölümde

Pragmaları ve Anahtar Sözcükleri İyileştirme
Derleyici Üretimini Geliştirme
Kayan Noktalı Sayıların Neden Duyarlık Kaybedebileceği
IEEE Kayan Noktası Temsili
Zamana Bağlı Kodu Geliştirme İpuçları
() Olmadan İşlev Adının Kullanılması Kod Üretmez
En İyi Uygulamaları İyileştirme
Profil Temelli İyileştirmeler
Profil Temelli İyileştirmeler için Ortam Değişkenleri
PgoAutoSweep
pgomgr
pgosweep
Nasıl Yapılır: Birden Çok PGO Profilini Tek Profilde Birleştirme

Ayrıca bkz.

C/C++ Derleme Başvurusu