Aracılığıyla paylaş


Başvuru: Windows Performans Analizi görünümleri

C++ Derleme Analizler araçları Visual Studio 2019 ve sonraki sürümlerde kullanılabilir. Bu sürümün belgelerini görmek için, bu makalenin Visual Studio Sürüm seçici denetimini Visual Studio 2019 veya üzeri olarak ayarlayın. Bu sayfadaki içindekiler tablosunun en üstünde bulunur.

Bu makalede, Windows Performans Analizi'de (WPA) kullanılabilen C++ Derleme Analizler görünümlerinin her biri hakkında ayrıntılar sağlanır. Bulmak için bu sayfayı kullanın:

  • veri sütunu açıklamaları; Ve
  • kullanım amaçları ve tercih edilen görüntüleme modu dahil olmak üzere her görünüm için kullanılabilir ön ayarlar.

WPA'yı yeni kullanmaya yeniyseniz öncelikle C++ Derleme Analizler için WPA'nın temellerini öğrenmenizi öneririz.

Derleme Gezgini

Derleme Gezgini görünümü aşağıdakileri yapmak için kullanılır:

  • paralellik sorunlarını tanılama,
  • derleme sürenizin ayrıştırma, kod oluşturma veya bağlama ile domine olup olmadığını ve
  • performans sorunlarını ve olağan dışı uzun derleme etkinliklerini tanımlama.

Derleme Gezgini veri sütunlarını görüntüleme

Sütun Adı Tanım
BuildTimelineDescription Geçerli etkinliğin veya özelliğin gerçekleştiği zaman çizelgesinin metinsel açıklaması.
BuildTimelineId Geçerli etkinliğin veya özelliğin gerçekleştiği zaman çizelgesi için sıfır tabanlı tanımlayıcı.
Bileşen Geçerli olay yayıldığında derlenen veya bağlanan bileşen. Bu olayla ilişkili bileşen olmadığında bu sütunun <değeri Çağırma X Bilgisi'dir> . X, olayın yayıldığı sırada yürütülen çağırma için benzersiz bir sayısal tanımlayıcıdır. Bu tanımlayıcı, bu olayın InvocationId sütunundaki tanımlayıcıyla aynıdır.
Sayı Bu veri satırı tarafından temsil edilen etkinliklerin veya özelliklerin sayısı. Bu değer her zaman 1'dir ve yalnızca birden çok satır gruplandırıldığında toplama senaryolarında yararlıdır.
ExclusiveCPUTime Bu etkinlik tarafından kullanılan milisaniye cinsinden CPU süresi miktarı. Çocuk etkinliklerinde harcanan süre bu tutara dahil değildir.
ExclusiveDuration Etkinliğin milisaniye süresi. Alt etkinliklerin süresi bu tutara dahil değildir.
InclusiveCPUTime Bu etkinlik ve tüm alt etkinlikler tarafından kullanılan milisaniye cinsinden CPU süresi miktarı.
InclusiveDuration Tüm alt etkinlikler dahil olmak üzere bu etkinliğin milisaniyelik süresi.
InvocationDescription Bu olayın gerçekleştiği çağrının metinsel açıklaması. Açıklama, cl.exe mi yoksa link.exe mi olduğunu ve benzersiz bir sayısal çağırma tanımlayıcısını içerir. Varsa, çağrı sırasında derlenen veya bağlanan bileşenin tam yolunu içerir. Herhangi bir bileşen oluşturmayan çağrılar veya birden çok bileşen oluşturanlar için yol boş olur. Çağırma tanımlayıcısı, InvocationId sütunundakiyle aynıdır.
InvocationId Bu olayın gerçekleştiği çağrı için benzersiz bir sayısal tanımlayıcı.
Ad Bu olay tarafından temsil edilen etkinliğin veya özelliğin adı.
Saat Olayın ne zaman gerçekleştiğini tanımlayan bir zaman damgası.
Araç Bu olay gerçekleştiğinde yürütülen araç. Bu sütunun değeri CL veya Link'tir.
Tür Geçerli olayın türü. Bu değer Etkinlik veya Özellik'tir.
Değer Geçerli olay bir özellikse, bu sütun değerini içerir. Geçerli olay bir etkinlik olduğunda bu sütun boş bırakılır.

Derleme Gezgini görünüm ön ayarları

Önceden Ayarlanmış Ad Tercih Edilen Görünüm Modu Nasıl kullanılır?
Etkinlik İstatistikleri Grafik / Tablo Tüm Derleme Gezgini etkinlikleri için toplanan istatistikleri görüntülemek için bu ön ayarı kullanın. Tablo modunda derlemenizin ayrıştırma, kod oluşturma veya bağlayıcı tarafından baskın olup olmadığını bir bakışta anlayın. Her etkinlik için toplanan süreler azalan düzende sıralanır. Bu en önemli etkinlikler için en çok zaman alan çağrıları kolayca bulmak için üst düğümü genişleterek detaya gitme. İsterseniz, WPA ayarlarını ortalamaları veya diğer toplama türlerini gösterecek şekilde ayarlayabilirsiniz. Grafik modunda, derlemeniz sırasında her etkinliğin ne zaman etkin olduğuna bakın.
Çağrılar Grafik Grafik görünümünde başlangıç zamanına göre sıralanmış bir çağrı listesi boyunca aşağı kaydırın. Düşük CPU kullanım alanlarıyla uyumlu çağrıları bulmak için CPU (Örneklenmiş) görünümüyle birlikte kullanabilirsiniz. Paralellik sorunlarını algılama.
Çağırma Özellikleri Tablo Belirli bir derleyici veya bağlayıcı çağrısıyla ilgili önemli bilgileri hızla bulun. Sürümünü, çalışma dizinini veya onu çağırmak için kullanılan tam komut satırını belirleyin.
Zaman çizelgeleri Grafik Derlemenizin nasıl paralelleştirildiğine yönelik bir çubuk grafı görün. Paralellik sorunlarını ve performans sorunlarını bir bakışta belirleyin. WPA'yı ihtiyaçlarınıza göre çubuklara farklı anlamlar atayacak şekilde yapılandırın. Tüm çağrılarınızın renk kodlu çubuk grafiğini görüntülemek için son gruplandırılmış sütun olarak çağırma açıklamalarını seçin. Bu, zaman alan suçluları hızla belirlemenize yardımcı olur. Ardından, en uzun bölümleri görmek için yakınlaştırın ve son gruplandırılmış sütun olarak etkinlik adını seçin.

Files

Dosyalar görünümü aşağıdakiler için kullanılır:

  • hangi üst bilgilerin en sık dahil olduğunu belirleyin ve
  • önceden derlenmiş bir üst bilgide (PCH) neleri dahil etmek istediğinize karar vermenize yardımcı olur.

Dosya görünümü veri sütunları

Sütun Adı Tanım
ActivityName Bu dosya olayı yayıldığında devam eden etkinlik. Şu anda bu değer her zaman Ayrıştırılıyordur.
BuildTimelineDescription *
BuildTimelineId *
Bileşen *
Sayı *
Derinlik Bu dosyanın bulunduğu ekleme ağacındaki sıfır tabanlı konum. Sayma, ekleme ağacının kökünde başlar. 0 değeri genellikle bir .c/.cpp dosyasına karşılık gelir.
ExclusiveDuration *
Dahil Edilen Geçerli dosyayı içeren dosyanın tam yolu.
IncludedPath Geçerli dosyanın tam yolu.
InclusiveDuration *
InvocationId *
StartTime Geçerli dosya olayının hangi saatte yayıldığını gösteren zaman damgası.
Araç *

* Bu sütunun değeri, Derleme Gezgini görünümündekiyle aynıdır.

Dosyalar görünümü ön ayarları

Önceden Ayarlanmış Ad Tercih Edilen Görünüm Modu Nasıl kullanılır?
İstatistikler Tablo Listeye azalan sırada bakarak hangi dosyaların en yüksek toplu ayrıştırma zamanına sahip olduğunu görün. Üst bilgilerinizi yeniden yapılandırmanıza veya PCH'nize neleri dahil etmek istediğinize karar vermenize yardımcı olması için bu bilgileri kullanın.

İşlevler

İşlevler görünümü, aşırı uzun kod oluşturma süresine sahip işlevleri tanımlamak için kullanılır.

İşlevler veri sütunlarını görüntüleme

Sütun Adı Tanım
ActivityName Bu işlev olayı yayıldığında devam eden etkinlik. Şu anda bu değer her zaman CodeGeneration'dır.
BuildTimelineDescription *
BuildTimelineId *
Bileşen *
Sayı *
Süre Bu işlev için kod oluşturma etkinliğinin süresi.
FunctionName Kod oluşturma işleminden geçen işlevin adı.
InvocationId *
StartTime Geçerli işlev olayının ne zaman yayıldığını gösteren zaman damgası.
Araç *

* Bu sütunun değeri, Derleme Gezgini görünümündekiyle aynıdır.

İşlevler görünümü ön ayarları

Önceden Ayarlanmış Ad Tercih Edilen Görünüm Modu Nasıl kullanılır?
İstatistikler Tablo Listeye azalan sırada bakarak hangi işlevlerin en yüksek toplu kod oluşturma süresine sahip olduğunu görün. Kodunuzun anahtar sözcüğü nerede aşırı kullandığınızı veya bazı işlevlerin __forceinline çok büyük olabileceğini gösterebilirler.
Zaman çizelgeleri Grafik Oluşturulması en çok zaman alan işlevlerin konumunu ve süresini öğrenmek için bu çubuk grafiğe bakın. Derleme Gezgini görünümünde performans sorunlarıyla uyumlu olup olmadığını görün. Bunu yaparsa, kod oluşturma süresini kısaltmak ve derleme sürelerinden yararlanmak için uygun eylemi gerçekleştirin.

Ayrıca bkz.

C++ Derleme Analizler kullanmaya başlama
Başvuru: vcperf komutları
Öğretici: Windows Performans Analizi temel bilgileri
Windows Performans Analizi