İki programlama aracı (Solaris üzerinde windows ve dbx (sunstudio içinde) üzerinde VTune kullanıyorum), bunları yeniden oluşturmadan profil programlayabilir ve profilleme sırasında program normal hızda çalışır. Bu iki özellikten ikisi de bana çok zaman kazandırdı.Linux platformunda programı yeniden oluşturmadan nasıl profilleme yapılır?
Şimdi, Linux platformunda bazı ücretsiz araçların mevcut olup olmadığını öğrenmek istiyorum. Örnekleme bazında profil araçlarına ihtiyacım var. VTune iyi ama pahalı ... Gprof ve valgrind duydum. Ama gprof ihtiyacı enstrüman programı (bu yüzden programı yeniden yapmak zorundayız) gibi görünüyor ve valgrind program yürütmesini oldukça yavaşlatacaktır. (valgrind'in tanıtımından itibaren, Cachegrind programları normalden 20 - 100 kat daha yavaş çalıştırır ve profillemeye ihtiyacım olan Callgrind Cachegrind'i temel alır)
Profilleme için sadece işlev çağrılarının yürütme süresini anladım. Performans düşüşünün nerede gerçekleştiğini öğrenebilir. Aslında, Cachegrind tarafından sağlanan birçok düşük seviyeli profil bilgisine ihtiyacım yok ...
Evet ... İhtiyacım olan bu gibi görünüyor ... Ama bence kök hesapların kurulması gerekiyor, değil mi? – superb
Evet, kurulumu için root gerekiyor. Ya da sudoers dosyanızın nasıl kurulduğuna bağlı olarak. Sanal bir makine kullanmayı öneririm, ancak bir VM'de profil yapmak kötü bir fikir gibi görünüyor - bir VM altında çalışırken darboğazlar fiziksel bir makinede çalışırken olduğu gibi olmayabilir. Umarım sisteminizde kök vardır. – George
Anladım. Oprofiler hakkında bir dokümanı okuduktan sonra, bazı donanım sayaçlarını toplayabilmek için çekirdeğe ihtiyaç duyduğunu anlıyorum, böylece programı hızlı bir şekilde profilleyebilir, böylece yapılandırmak için bir kök ayrıcalığı gerekir. Genel bir makine kullandığından ve profillemenin bu makinenin performansını etkileyeceğinden, kök erişimi kolaydır. Bence Valgrind belki de en iyi seçenek ... – superb