Ketidakkonsistenan Output Pprof Go Tool
Pertanyaan berkisar pada output alat 'pprof' yang tidak dapat dijelaskan dalam Go, yang menyediakan keupayaan pemprofilan. Walaupun prestasi yang tepat pada masa lalu, alat ini baru-baru ini mula menjana hasil yang tidak meyakinkan.
Tidak kira aplikasi yang diprofilkan, walaupun aplikasi yang agak kompleks dengan banyak panggilan fungsi, alat 'pprof' mengembalikan graf panggilan hambar dan hasil yang mandul , walaupun aplikasi itu sendiri berfungsi dengan baik.
Isu ini berterusan walaupun selepas menaik taraf kepada MacOS Yosemite dan El Capitan. Pakej 'github.com/davecheney/profile' digunakan dengan Go v1.5.1.
Untuk menjana profil, kod tersebut termasuk 'profile.Start' dan 'profile.Stop' pada permulaan ' fungsi utama, diikuti dengan membina dan menjalankan binari. Walau bagaimanapun, output yang terhasil menyerupai yang berikut:
(pprof) top 269.97kB of 269.97kB total ( 100%) flat flat% sum% cum cum% 269.97kB 100% 100% 269.97kB 100% (pprof)
Penyelesaian yang disediakan menyelesaikan percanggahan ini dengan menekankan ketiadaan binari dalam panggilan 'pprof'. Struktur arahan yang betul ialah:
go tool pprof ./orig /path/to/profile.pprof
Pembetulan ini memastikan bahawa 'pprof' menyasarkan binari yang disusun, membolehkannya memberikan maklumat pemprofilan yang dikehendaki.
Atas ialah kandungan terperinci Mengapakah output Go `pprof` saya menunjukkan hasil kosong walaupun prestasi aplikasi yang tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!