it-swarm-id.com

Apa profiler C ++ gratis terbaik untuk Windows?

Saya mencari profiler untuk menemukan hambatan dalam kode C++ saya. Saya ingin menemukan alat profil yang gratis, tidak mengganggu, dan bagus. Saya seorang pengembang game, dan saya menggunakan PIX untuk Xbox 360 dan merasa sangat bagus, tetapi itu tidak gratis. Saya tahu Intel VTune , tetapi juga tidak gratis.

218
ugasoft

CodeXL sekarang telah menggantikan End Of Line'd AMD Code Analyst dan keduanya gratis, tetapi tidak semaju VTune. Ada juga Mengantuk , yang sangat sederhana, tetapi melakukan pekerjaan dalam banyak kasus.

132
yrp

Very Sleepy adalah C/C++ CPU profiler untuk sistem Windows (gratis).
CppCheck adalah profiler CPU C/C++ statis untuk sistem Windows (gratis).

59
lsalamon

Proffy cukup keren: http://pauldoo.com/proffy/

Penafian: Saya menulis ini.

34
pauldoo

Ada profiler instrumenting (fungsi-akurat) untuk MS VC 7.1 dan lebih tinggi disebut MicroProfiler. Anda bisa mendapatkannya di sini (x64) atau di sini (x86) . Itu tidak memerlukan modifikasi atau penambahan apa pun ke kode Anda dan dapat menampilkan statistik fungsi dengan penelepon dan callees di waktu nyata tanpa perlu menutup aplikasi/menghentikan proses pembuatan profil.

Ini terintegrasi dengan VisualStudio, sehingga Anda dapat dengan mudah mengaktifkan/menonaktifkan profil untuk suatu proyek. Dimungkinkan juga untuk menginstalnya pada mesin yang bersih, hanya perlu informasi simbol ditempatkan bersama dengan executable yang sedang diprofilkan.

Alat ini berguna ketika perkiraan statistik dari sampling profiler seperti Very Sleepy tidak cukup.

Perbandingan kasar menunjukkan, bahwa itu mengalahkan AQTime (ketika dipanggil dalam instruksi, menjalankan fungsi-level). Program berikut (optimasi penuh, inlining dinonaktifkan) berjalan tiga kali lebih cepat dengan mikro-profiler menampilkan hasil secara real-time, dibandingkan dengan AQTime hanya mengumpulkan statistik:

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 memiliki Windows Performance Toolkit .

Itu memang membutuhkan Windows Vista, Windows Server 2008 , atau Windows 7.

10
epotter

Tambahan baru adalah Shiny .

7
Buggieboy

Saya sangat merekomendasikan Windows Performance Toolkit (WPT) atau XPERF

Alat baris perintah xperf baris perintah mencatat log Pelacakan Peristiwa untuk Windows (ETW) yang dapat dianalisis menggunakan alat GUI xperfview.

Menggunakan argumen baris perintah stacktrace telah terbukti menjadi alat yang tak ternilai bagi perusahaan saya karena profilnya dan memecahkan masalah kemacetan. Salah satu hal yang paling menarik adalah bahwa WPT dapat diinstal di lingkungan apa pun bahkan pada yang terhormat Windows XP .

Pada Windows 8, Windows Performance Analyzer membawa xperf ke tingkat yang lebih tinggi.

Angka keras dan statistik yang disediakan dalam log ETW tidak tertandingi secara detail kecuali untuk profiler studio visual (2010/2012) yang juga bagus tetapi tidak AFAIK gratis.

Jika Anda belum pernah menggunakan xperf ... Anda tidak tahu apa yang Anda lewatkan

5
MW_dev

Saya menggunakan AQTime, ini adalah salah satu alat profil terbaik yang pernah saya gunakan. Ini tidak gratis tetapi Anda bisa mendapatkan uji coba 30 hari, jadi jika Anda berencana untuk mengoptimalkan dan membuat profil hanya satu proyek dan 30 hari sudah cukup untuk Anda maka saya akan merekomendasikan menggunakan aplikasi ini. ( http://www.automatedqa.com/downloads/aqtime/index.asp )

3
dudico

Silakan coba profiler saya, bernama cRunWatch. Ini hanya dua file, sehingga mudah untuk diintegrasikan dengan proyek Anda, dan membutuhkan penambahan satu baris untuk instrumen sepotong kode.

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

Membutuhkan perpustakaan Boost.

2
ravenspoint

Saya menggunakan Luke Stackwalker dan itu berhasil untuk proyek Visual Studio saya.

Proyek menarik lainnya adalah:

1
INS

Saya telah menggunakan "TrueTime - bagian dari suite DevPartner Compuware selama bertahun-tahun. Ada [versi gratis] (Anda bisa mencoba Compuware DevPartner Performance Analysis Community Edition.) Tersedia.

0
Harold Ekstrom

Anda dapat menggunakan EmbeddedProfiler, gratis untuk Linux dan Windwos.

Profiler ini mengganggu (berdasarkan fungsi) tetapi tidak memerlukan modifikasi kode apa pun. Cukup tambahkan flag compiler tertentu (-finstrument-functios untuk gcc/MinGW atau/GH untuk MSVC) dan tautkan pustaka profiler. Ini dapat memberi Anda pohon panggilan penuh atau hanya daftar fungsi. Ini memiliki GUI penganalisa sendiri.

0
Mi-La