Profil perintah berdasarkan waktu dinding

10

The profiler-startperintah memiliki pilihan untuk cpu, mem, dan cpu+mem. Apakah ada cara untuk membuat profil perintah pada waktu yang telah berlalu?

Matthew Piziak
sumber

Jawaban:

7

Saya tidak yakin apakah Anda dapat melakukannya menggunakan profiler.el karena ini adalah profiler pengambilan sampel. Ini sebenarnya tidak mengukur berapa lama suatu fungsi untuk dijalankan, itu secara berkala memeriksa untuk melihat fungsi apa yang sedang dijalankan, dan menambahkan semua sampel tersebut.

ELP atau EmacsLispProfiler adalah kompiler instrumenting. Untuk mengaktifkan instrumentasi, gunakan M-x fungsi elp-instrumen pada satu fungsi atau lebih. Setelah menjalankan kode yang memanggil fungsi yang diinstrumentasi, jalankan M-x elp-results . Ini akan menampilkan buffer yang menunjukkan jumlah total panggilan dan waktu yang berlalu untuk setiap fungsi yang diinstrumentasi. Lihat M-x find-libary elp untuk informasi lebih lanjut.

Jika Anda tahu persis fungsi apa yang ingin Anda profil, pustaka patokan mungkin juga berguna.

dgtized
sumber
5

Anda dapat menggunakan benchmarkuntuk menentukan berapa lama suatu perintah.

(benchmark 100 (command))

100 adalah jumlah pengulangan, buatlah itu cukup besar untuk Anda agar hasilnya bermakna. Dan jangan lupa Anda juga bisa menyebutnya interaktif.

(FORMULIR REPETISI BENTUK)

Cetak waktu yang diperlukan untuk eksekusi FORMULIR REPETISI.
Secara interaktif, REPETISI diambil dari arg awalan.

Anda juga dapat menggunakannya untuk setiap bentuk arbitrer, bukan hanya satu perintah.

(benchmark 100 (form to (be evaluated))
Malabarba
sumber