У меня включено много плагинов при использовании Vim - я собирал плагины на протяжении многих лет. Я немного сыт по горло тем, сколько времени требуется Vim, чтобы начать сейчас, поэтому я хотел бы профилировать его запуск и посмотреть, какие из многих плагинов у меня есть ответственность.
Есть ли способ профилировать запуск Vim или запуск скриптов? В идеале я хотел бы знать, сколько времени Vim тратит на каждый загружаемый скрипт Vim.
vim --startuptime /dev/stdout +qall
time vim +q
если вы хотите рассчитать время запуска vim в целом.vim --startuptime /dev/stdout +qall
иvim --startuptime vim.log +qall; cat vim.log
.Вы можете использовать собственный механизм профилирования vim:
После выполнения описанного выше вы найдете файл с именем profile.log в текущем каталоге со всей необходимой информацией. Чтобы получить информационную таблицу для каждого сценария, аналогичную уже существующей для каждой функции, используйте (после открытия этого файла в vim):
Он будет не отсортирован, но вы всегда можете использовать встроенную
:sort
команду, если количество сценариев слишком велико.источник
dbext.vim
, которая заняла более трех секунд 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!'
Она создает много пустых файлов в vim.Я создал этот проект Github, чтобы лучше ответить на ваш вопрос. По сути, он суммирует время для каждого вызова функции для каждого плагина, что не очевидно (но важно) из необработанного вывода профиля vim. Bash, Python, R, Ruby поддерживаются для создания результатов профилирования.
Вы получите результат, как этот:
Наряду с выводом текста, как это:
источник
!
перед тегом.Вы можете запустить
vim -V
, направить вывод через утилиту, которая добавляет метки времени и проанализировать вывод. Эта командная строка делает это, например:Возможно, вам придется слепо напечатать, :qчтобы вернуться к вашей подсказке. После этого вы должны найти файл
vilog
в вашем текущем каталоге с отметками времени найма в начале каждой строки.Если вы можете сделать с точностью до секунды, вы можете сделать это:
источник
Основываясь на работе, проделанной @hyiltiz, которая зависит от R, я сделал версию профилировщика на Python , поскольку она чаще доступна в системе, где R.
Его также немного легче расширить, поэтому есть следующие функции:
Вывод похож на то, что обеспечивает vim-plugins-profile:
источник
No plugin found
.Я усовершенствовал ВЬЕТ -V решения по InnaM , чтобы показать время дельты:
источник
Если вы загружаете свои плагины из файла .vimrc, то, что вы могли бы сделать, это поместить в
q
какую-то строку часть файла, чтобы заставить его выйти, чтобы вы могли использовать таймер процесса, например, команду unixtime
. Более подробно это будет выглядеть так:.vimrc
файлаq
строкуtime vim
репетийно и среднеЭто не элегантно, но я думаю, что это сделает работу.
источник
Есть плагин для профилирования времени запуска vim.
http://www.vim.org/scripts/script.php?script_id=2915
источник
Это может быть удобно отслеживать
--startime
при открытии определенного файлаисточник
Разве нет
time
команды bash, которую можно использовать так:РЕДАКТИРОВАТЬ : Не включает время запуска сценариев. Вместо этого используйте предложение @jamessan.
источник