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
Pros
Pro Good fuzzy completion
Pro Multiple ways to complete, multi language support
Pro Clang code completion
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.
Pro easier to set up
Cons
Con Too many dependencies
Compared to others, it has too many dependencies.
Con Extremely heavyweight
YouCompleteMe installations are hundreds of megabytes large.
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 Does not have function arguments quick-preview (for Python)
You need to check the Docs too see how a function is defined.
Con No Julia support
Only Deoplete seems to have that at the moment.