Skip to content

Instantly share code, notes, and snippets.

@nukino
Created January 17, 2012 06:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nukino/1625162 to your computer and use it in GitHub Desktop.
Save nukino/1625162 to your computer and use it in GitHub Desktop.
[20120117-1530]test1.vim/置換速度チェック
let g:loop_cnt = 2000000
func! s:test_func1()
let target_str = '@octopress\source'
let str = '\\machine\Dropbox\octopress'
let i = 0
let ie = g:loop_cnt
while ( i < ie )
let ret_str = substitute(target_str,'@octopress', str, '')
let i += 1
endwhile
endfunc
func! s:test_func2()
let target_str = '@octopress\source'
let str = '\\machine\Dropbox\octopress'
let i = 0
let ie = g:loop_cnt
while ( i < ie )
let a_str = substitute(str,'\\', '\\\\', 'g')
let ret_str = substitute(target_str,'@octopress', a_str, '')
let i += 1
endwhile
endfunc
func! s:test_func3()
let target_str = '@octopress\source'
let str = '\\machine\Dropbox\octopress'
let i = 0
let ie = g:loop_cnt
let ptn = '@octopress'
let ptn_len = len(ptn)
while ( i < ie )
let idx = stridx(target_str, ptn)
let ret_str = strpart(target_str, 0, idx) . str . strpart(target_str, idx+ptn_len)
let i += 1
endwhile
endfunc
func! s:test_func4()
let target_str = '@octopress\source'
let str = '\\machine\Dropbox\octopress'
let i = 0
let ie = g:loop_cnt
while ( i < ie )
let ret_str = substitute(target_str,'@octopress', '\=str', '')
let i += 1
endwhile
endfunc
func! TestFunction()
let st_time = reltime()
call s:test_func1()
echo "s:test_func1->" . split(reltimestr(reltime(st_time)))[0]
let st_time = reltime()
call s:test_func2()
echo "s:test_func2->" . split(reltimestr(reltime(st_time)))[0]
let st_time = reltime()
call s:test_func3()
echo "s:test_func3->" . split(reltimestr(reltime(st_time)))[0]
let st_time = reltime()
call s:test_func4()
echo "s:test_func4->" . split(reltimestr(reltime(st_time)))[0]
endfunc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment