When comparing YouCompleteMe vs Deoplete, the Slant community recommends YouCompleteMe for most people. In the question“What are the best semantic autocompletion plugins for Vim?” YouCompleteMe is ranked 1st while Deoplete is ranked 2nd.
Ranked in these QuestionsQuestion Ranking
Pro Clang code completion
Pro Good fuzzy completion
Pro Multiple ways to complete. Multi language support
Pro Works out-of-the box, not much configuration work necessary
Maybe use this:
let g:ycm_add_preview_to_completeopt = 1
let g:ycm_autoclose_preview_window_after_completion = 1
nnoremap <leader>d :YcmCompleter GetDoc<CR>
nnoremap <leader>j :YcmCompleter GoTo<CR>
Pro Broad support for different autocompletion sources
deoplete was written to be an extensible autocompletion engine. Many of its users have written add-ons supporting most well-known programming languages, as well as more esoteric sources (active tmux panes, web browser windows, GitHub issues, etc.)
Pro Fully asynchronous
deoplete is multithreaded and non-blocking.
Con Too many dependencies
Compared to others, it has too many dependencies.
Con Extremely heavyweight
YouCompleteMe installations are hundreds of megabytes large.
Con Does not have function arguments quick-preview (for Python)
You need to check the Docs too see how a function is defined.
Con Works best only with C family languages
YouCompleteMe works best for C-based languages (C, C++, Objective-C, Objective-C++) and it's semantic engine is Clang-based which means that it only works for the C-family languages.
Con No Julia support
Only Deoplete seems to have that at the moment.
Con NeoVim only
Deoplete does not appear to support vanilla Vim.