C++ programımın gprof kullanarak zamanını harcadığı zamanı bulmaya çalışıyorum. Benim ikilemim: Eğer sürüm oluşturma için kullandığım aynı eniyileme ayarları ile derlerseniz, hemen hemen her şey sıralanır ve gprof bana, zamanımın% 90'ının, her şeyin dizildiği bir çekirdek rutinde geçirildiğini söyler. Diğer yandan, satır içi devre dışı bırakılmışsa, program büyüklük derecesini daha yavaş çalıştırır.Agresif satır içi varlığında C++ profili?
programımın etkin inlining derlendi benim göbek rutinden denen zaman prosedürleri, alarak ne kadar öğrenmek istiyorum.
Ben dört çekirdekli Intel makinede 64 bit Ubuntu 9.04 çalıştırıyorum. Google-perftools'a baktım, ancak x86_64 üzerinde iyi çalışmıyor gibi görünüyor. Bir 32-bit makinede çalışan bir seçenek değildir.
Herkes ben daha etkili benim uygulama profil nasıl olarak öneriniz var mı, inlining etkinken?
Düzenleme
: İşte benim sorunum bazı açıklama olduğunu. Başlangıçta açık değilse özür dilerim.Uygulamamda zamanın harcanan zamanını bulmak istiyorum. Optimize edilmiş yapmamın profillenmesi, gprof'un zamanın% 90'ının her şeyin ana hatlarıyla belirtildiği ana hatta harcanacağını söyleyerek sonuçlandı. Profillemeden önce bunu zaten biliyordum!
Ne öğrenmek istiyorum satır içine fonksiyonlar benim yapı seçeneklerinde optimizasyonu veya satır içi uygulaması devre dışı bırakmadan, tercihen alarak ne kadar zamandır. Uygulama, inlining devre dışıyken profil oluştururken, daha yavaş bir büyüklük sırası gibi bir şeydir. Yürütme süresindeki bu fark bir kolaylık sorunu olmakla birlikte, inlining devre dışıyken oluşturulan programın performans profilinin, satır içi etkinleştirilmiş yerleşik programın performans profiline büyük ölçüde karşılık geleceğinden emin değilim.
Kısacası: optimizasyonu veya satır içi uygulaması devre dışı olmadan C++ programı üzerinde yararlı profilleme bilgi almak için bir yol var?
http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux. Bu iş parçacığı bir sürü bilgi var –