Ich habe versucht, meine C++ - Anwendung in Linux zu profilieren, indem Sie this article on perf record folgen. Mein Verständnis ist alles, was ich tun muss, ist perf record program [program_options]
ausführen, wo program
ist das Programm ausführbar und [program options]
sind die Argumente, die ich an das Programm übergeben möchte. Allerdings, wenn ich versuche, meine Anwendung wie diese zum Profil:Profiling Linux-Anwendung mit Perf-Datensatz
perf record ./csvJsonTransducer -enable-AVX-deletion test.csv testout.json
perf
kehrt fast sofort mit einem Bericht. Es dauert fast 30 Sekunden, um ./csvJsonTransducer -enable-AVX-deletion test.csv testout.json
ohne perf zu laufen, und ich will perf
, um mein Programm für die Gesamtheit seiner Ausführung zu überwachen, nicht sofort zurückzukehren. Warum kehrt perf
so schnell zurück? Wie kann ich den gesamten Ablauf meines Programms berücksichtigen?