Skip to content
Permalink
Browse files

Profiling: add example for :prof during startup

  • Loading branch information
mhinz committed Oct 7, 2019
1 parent 058a090 commit b64abe3e6afaa90e4da5928d78a5b3fa03829548
Showing with 14 additions and 12 deletions.
  1. +14 −12 README.md
@@ -2392,25 +2392,27 @@ profile.

If you want to profile _everything_, do this:

```
:profile start /tmp/profile.log
:profile file *
:profile func *
<do something in Vim>
<quit Vim>
```
:profile start /tmp/profile.log
:profile file *
:profile func *
<do something in Vim>
: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`).

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

0 comments on commit b64abe3

Please sign in to comment.
You can’t perform that action at this time.