Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Incredibly slow on write #215

Open
Open
Labels
@theahura

Description

Describe the bug
Recently upgraded vim, and I noticed that vim basically froze every time I wrote a file. I opened a typescript file with about 200loc and profiled using this set of commands: https://stackoverflow.com/a/12216578/3269537
To profile I just opened the file and saved it, then closed the file.

Output:

FUNCTIONS SORTED ON TOTAL TIME count total (s) self (s) function
 9 5.210759 0.000624 maktaba#function#Call() 
 2 2.642967 0.000312 codefmt#FormatBuffer()
 3 2.611224 0.000173 maktaba#syscall#Call() 
 3 2.610018 0.000436 <SNR>80_DoSyscallCommon()
 3 2.605518 0.000057 maktaba#function#Apply()
 3 2.603859 0.001205 maktaba#syscall#DoCall()
 2 2.402088 0.001135 42() 
 1 1.472221 0.000255 <SNR>33_FormatBufferAndSetRepeat()
 1 1.171017 0.000016 <SNR>32_FmtIfAutoEnabled() 
 2 0.240567 0.000527 <SNR>38_GetFormatter() 
 2 0.239915 0.000078 <SNR>38_IsAvailable() 
 2 0.239817 0.000679 40() 
 2 0.020809 0.001005 maktaba#buffer#Overwrite()
 2 0.019677 0.019450 maktaba#python#ImportModule()
 7 0.004788 0.000730 maktaba#syscall#GetCommand()
 24 0.003627 0.001727 maktaba#string#Strip() 
 5 0.002999 0.000466 codefmt#formatterhelpers#ResolveFlagT
oArray() 
 2 0.002801 0.000086 maktaba#syscall#WithCwd()
 2 0.002715 0.000076 maktaba#syscall#And() 
 116 0.002186 0.001214 maktaba#ensure#IsString()

notice that maktaba takes ~5s and codefmt takes ~2.5

To Reproduce
Minimal vimrc:

set rtp+=~/.vim/bundle/Vundle.vim 
call vundle#begin() 
Plugin 'VundleVim/Vundle.vim' 
 
Plugin 'google/vim-maktaba' 
Plugin 'google/vim-codefmt' 
Plugin 'google/vim-glaive' 
 
call vundle#end() 
call glaive#Install() 
 
" Set up useful defaults for codefmt.
augroup autoformat_settings 
 autocmd FileType bzl AutoFormatBuffer buildifier
 autocmd FileType c,cpp,proto,arduino AutoFormatBuffer clang-format
 autocmd FileType dart AutoFormatBuffer dartfmt
 autocmd FileType go AutoFormatBuffer gofmt 
 autocmd FileType gn AutoFormatBuffer gn
 autocmd FileType html,css,sass,scss,less,json,vue,javascript,javascriptreact,typescript,typescriptreact AutoFormatBuffer prettier
 autocmd FileType java AutoFormatBuffer google-java-format
 autocmd FileType python AutoFormatBuffer yapf
 autocmd FileType rust AutoFormatBuffer rustfmt 
augroup END 
Glaive codefmt plugin[mappings] 
autocmd BufWritePre * FormatCode

Expected behavior
Previously this was not nearly this slow. I was expecting a non-noticeable latency on save.

OS (version)
Ubuntu 20.04.3 LTS

Additional context
vim version: VIM - Vi IMproved 9.0 (2022 Jun 28, compiled May 10 2022 08:40:37)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /