Saya mencari profiler untuk menemukan hambatan dalam kode C ++ saya. Saya ingin mencari alat profiling 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.
224
Jawaban:
CodeXL sekarang telah menggantikan AMD Code Analyst End Of Line dan keduanya gratis, tetapi tidak semaju VTune. Ada juga Sleepy , yang sangat sederhana, tetapi melakukan pekerjaan dalam banyak kasus.
sumber
Very Sleepy adalah profiler CPU C / C ++ untuk sistem Windows (gratis).
CppCheck adalah profiler CPU C / C ++ statis untuk sistem Windows (gratis).
sumber
Proffy cukup keren: http://pauldoo.com/proffy/
Penafian: Saya menulis ini.
sumber
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 pada kode Anda dan mampu menampilkan statistik fungsi dengan penelepon dan callees secara real-time 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 pendekatan statistik dari sampling profiler seperti Very Sleepy tidak mencukupi.
Perbandingan kasar menunjukkan, bahwa itu mengalahkan AQTime (ketika dipanggil dalam instrumenting, menjalankan fungsi-level). Program berikut (optimasi penuh, inlining dinonaktifkan) berjalan tiga kali lebih cepat dengan profiler mikro menampilkan hasil secara waktu nyata, dibandingkan dengan AQTime hanya mengumpulkan statistik:
sumber
Microsoft memiliki Windows Performance Toolkit .
Itu memang membutuhkan Windows Vista, Windows Server 2008 , atau Windows 7.
sumber
Tambahan baru adalah Shiny .
sumber
Saya sangat merekomendasikan Windows Performance Toolkit (WPT) atau XPERF
Alat baris perintah xperf 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 profil dan pemecahan masalah kemacetan. Salah satu hal yang paling menarik adalah bahwa WPT dapat diinstal di lingkungan apa pun bahkan pada Windows XP yang terhormat .
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
sumber
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 )
sumber
Silakan coba profiler saya, bernama cRunWatch. Ini hanya dua file, sehingga mudah untuk diintegrasikan dengan proyek Anda, dan perlu menambahkan satu baris tepat untuk instrumen sepotong kode.
http://ravenspoint.wordpress.com/2010/06/16/timing/
Membutuhkan perpustakaan Boost.
sumber
Saya menggunakan Luke Stackwalker dan itu berhasil untuk proyek Visual Studio saya.
Proyek menarik lainnya adalah:
sumber
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.
sumber
Saya menggunakan VSPerfMon yang merupakan Standalone Visual Studio Profiler. Saya menulis alat GUI untuk membantu saya menjalankannya dan melihat hasilnya.
http://code.google.com/p/vsptree/
sumber
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.
sumber