it-swarm-tr.com

Windows için en iyi ücretsiz C ++ profiler hangisidir?

C++ kodumdaki darboğazı bulmak için bir profiler arıyorum. Ücretsiz, müdahaleci olmayan ve iyi bir profil oluşturma aracı bulmak istiyorum. Oyun geliştiricisiyim ve Xbox 360 için PIX kullanıyorum ve çok iyi buldum, ancak ücretsiz değil. Intel'i biliyorum VTune , fakat bu da bedava değil.

218
ugasoft

CodeXL şimdi Satır Sonu'nu değiştirdi AMD Kod Analisti ve her ikisi de ücretsiz, ancak VTune kadar gelişmiş değil. Ayrıca ykul var, bu çok basit, ancak çoğu durumda işi yapıyor.

132
yrp

Çok Uykul , Windows sistemleri için bir C/C++ CPU profilcisidir (ücretsiz).
CppCheck Windows sistemleri için statik bir C/C++ CPU profilcisidir (ücretsiz).

59
lsalamon

Proffy oldukça havalı: http://pauldoo.com/proffy/

Uyarı: Bunu ben yazdım.

34
pauldoo

MS VC 7.1 ve MicroProfiler olarak adlandırılan daha üstü için bir enstrüman (işlev-doğru) profili oluşturucusu var. Burada bulabilirsiniz (x64) veya burada (x86) . herhangi bir değişiklik veya ekleme gerektirmez kodunuzda ve real-time içinde uygulamayı kapatma/durdurmaya gerek kalmadan arayanlar ve callees ile işlev istatistiklerini görüntüleyebilir profil oluşturma işlemi.

VisualStudio ile entegre olur, böylece bir proje için profil oluşturmayı kolayca etkinleştirebilir/devre dışı bırakabilirsiniz. Temiz makineye monte etmek de mümkündür, sadece sembol bilgisinin profilin çalışabilmesiyle birlikte bulunması gerekir.

Bu araç, Çok Uykulu gibi örnekleme profilcilerinden istatistiksel yaklaşım yeterli olmadığında yararlıdır.

Kaba karşılaştırma, AQTime'ı (enstrümantasyonda kullanıldığında, işlev düzeyinde çalıştırma yapıldığında) attığını gösterir. Aşağıdaki program (tam optimizasyon, satır içi devre dışı bırakma), mikro profiler sonuçları gerçek zamanlı olarak görüntülerken, AQTime'ın yalnızca istatistik toplamasına göre üç kat daha hızlı çalışır:

void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}
17
Arty

Microsoft'ta Windows Performans Araç Seti bulunmaktadır.

Windows Vista, Windows Server 2008 veya Windows 7 gerektirir.

10
epotter

Yeni bir ekleme Parlak .

7
Buggieboy

Öneririm Windows Performans Araç Seti (WPT) veya XPERF

Komut satırı xperf komut satırı aracı, GUI xperfview aracı kullanılarak analiz edilebilen Windows için Olay İzleme (ETW) günlüklerini kaydeder.

Kullanılması stacktrace komut satırı argümanı , darboğazları belirlediği ve sorunlarını giderdiği için şirketim için paha biçilmez bir araç olduğunu kanıtladı. En ilgi çekici şeylerden biri, WPT'nin saygın Windows XP ortamlarına bile herhangi bir ortamda yüklenebilmesidir.

Açık Windows 8, Windows Performans Çözümleyicisi , xperf'i daha da yüksek bir seviyeye çıkarır.

ETW kütüklerinde verilen rakamlar ve istatistikler, aynı zamanda harika ama ücretsiz AFAIK olmayan görsel stüdyo profili (2010/2012) dışında da benzersizdir.

Eğer xperf'i hiç kullanmadıysanız ... ne kaçırdığınızı bilmiyorsunuz

5
MW_dev

AQTime kullanıyorum, şimdiye kadar kullandığım en iyi profil oluşturma araçlarından biri. Ücretsiz değil ama 30 günlük bir deneme süresine sahip olabilirsiniz, bu nedenle sadece bir projeyi optimize etmek ve planlamak için plan yaparsanız ve 30 gün sizin için yeterliyse o zaman bu uygulamayı kullanmanızı tavsiye ederim. ( http://www.automatedqa.com/downloads/aqtime/index.asp )

3
dudico

Lütfen cRunWatch adlı profilleyicimi deneyin. Bu sadece iki dosyadır, bu yüzden projelerinizle entegrasyonu kolaydır ve bir kod parçasına enstrümana tam bir satır eklemeyi gerektirir.

http://ravenspoint.wordpress.com/2010/06/16/timing/

Yükseltme kütüphanesini gerektirir.

2
ravenspoint

Luke Stackwalker kullandım ve Visual Studio projem için bu işi yaptı.

Diğer ilginç projeler:

1
INS

Kullandığım "TrueTime - Compuware'in DevPartner paketinin bir parçası. Yıllarca.

0
Harold Ekstrom

EmbeddedProfiler'ı kullanabilirsiniz, hem Linux hem de Windwos için ücretsizdir.

Profil oluşturucu müdahalecidir (işlevselliğe göre), ancak herhangi bir kod değişikliği gerektirmez. Sadece belirli bir derleyici bayrağı ekleyin (-cartstentent-functios için gcc/MinGW veya/GH için MSVC) ve profil kütüphanesini bağla. Size tam bir çağrı ağacı veya sadece bir eğlence listesi sağlayabilir. Kendi analizörü GUI'sine sahiptir.

0
Mi-La