#vim #性能分析 #实用工具 #命令行

app vim-profiler

vim 性能分析工具

4 个版本

0.0.4 2021 年 12 月 20 日
0.0.3 2021 年 7 月 28 日
0.0.2 2021 年 7 月 14 日
0.0.1 2021 年 7 月 10 日

命令行工具 中排名第 1931

每月下载量 24

CC0 许可

44KB
707 行(不包括注释)

vim-profiler 🕒

Build crates.io

vim-profiler 是 Rust 编写的 (n)vim --startuptime 命令的包装器。二进制文件名为 vp,仅在基于 Unix 的系统上进行了测试。

演示

以下是一个快速演示程序的主要功能。

asciicast

安装

您可以使用 Rust 包管理器 Cargo 安装 vim-profiler

$ cargo install vim-profiler

使用方法

vim-profiler 0.0.4
A vim profiling tool.

USAGE:
    vp [FLAGS] [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -r, --reverse    Display the plugin times in reverse order (fastest first)
    -s, --sys        Show system plugins in the output
    -V, --version    Prints version information
    -v, --verbose    Add informative messages during program execution

OPTIONS:
    -c, --command   <command>      The command to run, e.g vim or neovim [default: vim]
    -n, --count     <count>        The number of plugins to list in the output
    -e, --export    <path>         Export the results to a CSV file
    -f, --file      <file>         A file to open
    -i, --iter      <iter>         The number of iterations
    -p, --plot      <path>         Plot the data and save it to a SVG file
    -x, --precision <precision>    Precision in the output

导出结果

此实用程序允许将结果导出为 SVG 文件形式的图表或 CSV 文件,其中包含额外的统计数据。

图表

图表可视化了插件目录中每个插件的启动时间。如果您使用 vp--plot 选项调用,您将在指定路径收到一个类似以下形式的 SVG 文件:

CSV

CSV 文件包含各种其他有用的统计数据,例如:

  • 所有迭代中的平均启动时间
  • 所有迭代中的中值启动时间
  • 与平均值的偏差

如果您使用 vp--export 选项调用,您将在指定路径收到一个包含额外统计数据的 CSV 文件,如下所示:

插件 最大值 最小值 中位数 平均值 偏差
vim-airline 11.59700 9.37200 11.05550 10.83430 0.64257
coc.nvim 9.26900 6.92700 8.26750 8.03870 0.74723
vimwiki 7.74400 5.25200 6.83400 6.53550 0.81209
vim-polyglot 7.01600 3.62900 4.22350 4.70690 1.09417
tabular 4.18500 2.53700 3.21100 3.19110 0.50241
vim-gitgutter 3.35000 2.10800 2.63900 2.70540 0.45181
emmet-vim 3.36700 2.16800 2.30200 2.45460 0.34839
ale 3.21800 1.54900 1.85950 2.04930 0.52316
vim-crypto 2.99100 1.61400 1.81100 2.03940 0.43480
fzf.vim 1.83000 0.94600 1.13900 1.20210 0.26501

现有技术

API 受同名 Python 脚本 vim-profiler 的启发。

其他一些值得注意的 vim 性能分析工具包括

依赖项

~7–17MB
~185K SLoC