neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

load.vim (723B)


      1 " Also used by: test/functional/testnvim.lua
      2 
      3 function! s:load_factor() abort
      4  let timeout = 200
      5  let times = []
      6 
      7  for _ in range(5)
      8    let g:val = 0
      9    let start = reltime()
     10    call timer_start(timeout, {-> nvim_set_var('val', 1)})
     11    while 1
     12      sleep 10m
     13      if g:val == 1
     14        let g:waited_in_ms = float2nr(reltimefloat(reltime(start)) * 1000)
     15        break
     16      endif
     17    endwhile
     18    call insert(times, g:waited_in_ms, 0)
     19  endfor
     20 
     21  let longest = max(times)
     22  let factor = (longest + 50.0) / timeout
     23 
     24  return factor
     25 endfunction
     26 
     27 " Compute load factor only once.
     28 let g:test_load_factor = s:load_factor()
     29 
     30 function! LoadAdjust(num) abort
     31  return float2nr(ceil(a:num * g:test_load_factor))
     32 endfunction