From b64abe3e6afaa90e4da5928d78a5b3fa03829548 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Mon, 7 Oct 2019 19:56:02 +0200 Subject: [PATCH] Profiling: add example for :prof during startup --- README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index db43c3a..876e395 100644 --- a/README.md +++ b/README.md @@ -2392,13 +2392,11 @@ profile. If you want to profile _everything_, do this: -``` -:profile start /tmp/profile.log -:profile file * -:profile func * - - -``` + :profile start /tmp/profile.log + :profile file * + :profile func * + + :qa Vim keeps the profiling information in memory and only writes it out to the logfile on exit. (Neovim has fixed this using `:profile dump`). @@ -2406,11 +2404,15 @@ logfile on exit. (Neovim has fixed this using `:profile dump`). Have a look at `/tmp/profile.log`. All code that was executed during profiling will be shown. Every line, how often it was executed and how much time it took. -Most of the time that will be plugin code the user isn't familiar with, but if -you're investigating a certain issue, jump to the bottom of the log. Here are -two different sections `FUNCTIONS SORTED ON TOTAL TIME` and `FUNCTIONS SORTED ON -SELF TIME` that are worth gold. At a quick glance you can see, if a certain -function is taking too long. +Jump to the bottom of the log. Here are two different sections `FUNCTIONS SORTED +ON TOTAL TIME` and `FUNCTIONS SORTED ON SELF TIME` that are worth gold. At a +quick glance you can see which functions are taking the longest. + +You can use `:profile` during startup as well: + + $ vim --cmd 'prof start prof.log | prof file * | prof func *' test.c + :q + $ tail -50 prof.log ## Debugging Vim scripts