Saya memiliki banyak plugin yang diaktifkan saat menggunakan Vim - Saya telah mengumpulkan plugin selama bertahun-tahun. Saya agak muak dengan berapa lama Vim dimulai sekarang, jadi saya ingin membuat profil startupnya dan melihat plugin mana yang saya miliki yang bertanggung jawab.
Apakah ada cara untuk membuat profil startup atau script-running Vim? Idealnya saya ingin tahu berapa lama Vim menghabiskan waktu di setiap skrip Vim yang dimuatnya.
vim --startuptime /dev/stdout +qall
time vim +q
jika Anda hanya ingin mengatur waktu startup vim secara keseluruhan.vim --startuptime /dev/stdout +qall
danvim --startuptime vim.log +qall; cat vim.log
.Saya membuat ini proyek Github dalam rangka untuk lebih menjawab pertanyaan Anda. Pada dasarnya, ini meringkas waktu untuk setiap panggilan fungsi untuk setiap plugin, yang tidak jelas (tapi penting) dari keluaran profil vim mentah. Bash, Python, R, Ruby didukung untuk membuat hasil pembuatan profil.
Anda akan mendapatkan hasil seperti ini:
Bersama dengan keluaran teks seperti ini:
sumber
!
sebelum tag.Anda dapat menggunakan mekanisme profil vim sendiri:
Setelah menjalankan perintah di atas, Anda akan menemukan file bernama profile.log di direktori saat ini dengan semua informasi yang diperlukan. Untuk mendapatkan tabel informasi per-skrip yang mirip dengan yang sudah ada per-fungsi, gunakan (setelah membuka file ini di vim):
Ini tidak akan disortir, tetapi Anda selalu dapat menggunakan
:sort
perintah bawaan jika jumlah skrip terlalu besar.sumber
dbext.vim
, yang memakan waktu lebih dari tiga detik github.com/johnsyweb/dotfiles/commit/09c3001gvim --cmd 'profile start profile.log' --cmd 'profile func *' --cmd 'profile file *' -c 'profdel func *' -c 'profdel file *' -c 'qa!'
Itu membuat banyak file kosong di vim.Anda dapat menjalankan
vim -V
, menyalurkan output melalui utilitas yang menambahkan cap waktu dan menganalisis output. Baris perintah ini melakukan ini, misalnya:Anda mungkin harus mengetik membabi buta :quntuk kembali ke prompt Anda. Setelah itu, Anda harus menemukan file tersebut
vilog
di direktori Anda saat ini dengan stempel waktu perekrutan di awal setiap baris.Jika Anda dapat melakukan dengan perincian satu detik, Anda dapat melakukan ini:
sumber
Berdasarkan pekerjaan yang dilakukan oleh @hyiltiz yang bergantung pada R, saya membuat profiler versi Python , karena ini lebih sering tersedia pada sistem yang R.
Ini juga sedikit lebih mudah untuk diperluas, jadi fiturnya adalah:
Outputnya mirip dengan yang disediakan vim-plugins-profile:
sumber
No plugin found
.Saya menyempurnakan solusi vim -V oleh innaM untuk menunjukkan waktu delta:
sumber
Jika Anda memuat plugin Anda dari file .vimrc, apa yang dapat Anda lakukan adalah meletakkan
q
beberapa baris di sebagian file untuk membuatnya berhenti sehingga Anda dapat menggunakan pengatur waktu proses, sepertitime
perintah unix . Lebih lengkapnya, ini akan terlihat seperti:.vimrc
file yang adaq
baristime vim
repeteadly dan rata-rataIni tidak elegan tapi saya pikir itu akan menyelesaikan pekerjaan.
sumber
Ada plugin untuk membuat profil waktu start-up vim.
http://www.vim.org/scripts/script.php?script_id=2915
sumber
Akan lebih mudah untuk melacak
--startime
saat membuka file tertentusumber
Apakah tidak ada
time
perintah bash yang bisa digunakan seperti ini:EDIT : Tidak termasuk skrip waktu mulai. Gunakan saran @jamessan sebagai gantinya.
sumber