Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tweekmonster/startuptime.vim
Breakdown Vim's --startuptime output
https://github.com/tweekmonster/startuptime.vim
profiler vim-plugins
Last synced: 24 days ago
JSON representation
Breakdown Vim's --startuptime output
- Host: GitHub
- URL: https://github.com/tweekmonster/startuptime.vim
- Owner: tweekmonster
- License: mit
- Created: 2017-03-03T07:06:03.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T13:58:01.000Z (almost 2 years ago)
- Last Synced: 2024-08-07T18:46:31.280Z (3 months ago)
- Topics: profiler, vim-plugins
- Language: Vim script
- Homepage:
- Size: 13.7 KB
- Stars: 284
- Watchers: 11
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - tweekmonster/startuptime.vim - Breakdown Vim's --startuptime output (Vim Script)
README
# startuptime.vim
![startuptime](https://cloud.githubusercontent.com/assets/111942/23541408/35607a3e-ffb5-11e6-9bf8-1e59b8ae06ef.png)
Everybody knows that 1ms could mean the difference between life and death in
Vim. This plugin breaks down the output of `--startuptime` so you can zero in
on the scripts that are stealing dozens of your milliseconds each time Vim is
started. You won't even need to leave the comfort of Vim.# Usage
Use the command `:StartupTime` to get an averaged startup profile. By default,
it collects 10 samples.It accepts multiple arguments. If a number is found, it is used as the sample
count. If a filename is found, it will be used with the `-u` argument while
profiling.Example collecting 100 samples and using `~/foo.vim` as the vimrc script:
```vim
:StartupTime ~/foo.vim 100
```If `--` is found in the command arguments, everything after it will be used
verbatim in the program execution.Example collecting 100 samples with manual arguments:
```vim
:StartupTime 100 -- -u ~/foo.vim -i NONE -- ~/foo.vim
```Note that the first `--` is dropped.
To upload the results, you can use a plugin like
[gist-vim](https://github.com/mattn/gist-vim).# Details
You have been able to profile Vim's startup by using the `--startuptime`
argument since v7.2. However, the results are written to a file and it reports
timing per loaded script. The output method and results aren't very useful to
a layman that just wants to know what plugins are affecting Vim's startup
speed.This plugin takes multiple samples (10 by default) of the `--startuptime`
output and displays the average times broken down by ***source***. A source
could be your `[vimrc]` scripts, Vim's built-in `[runtime]` scripts, or
plugins. Vim doesn't actually have a formal plugin system. As a result, a
"plugin" is simply a path found in `runtimepath` that *looks like* a plugin.
If the source can't be determined, it display as `[unknown]`.The results shows the total average startup time and the 10 slowest "plugins".
Below it are the load times, separated by startup phases and sorted by load
time. Under each phase, load times are broken down by "plugin". Under each
"plugin" are the load times for individual scripts. These are folded by
default and can be opened with `zo` if you want more detail.