Jedi in Vim, PyCharm/IntelliJ, and whatever tool VSCode uses (which I think is Jedi).
Same experience everywhere. Once I type "tf" - a hang for multiple seconds, presumably while it loads the entire Tensorflow library. The completion then works smoothly, until I hit space or otherwise exit the completion.
Once I type "tf" again, the cycle repeats, and I have to wait multiple seconds.
You'd think the tool might cache libraries instead of reloading them every time. Seems like it doesn't at all.
You need YouCompleteMe. It uses Jedi internally, but the completion is async i.e. the ui is not blocked. Also it caches completions, you shall get completion candidates reasonably fast the second time you input tf.
IntelliJ completion should index and cache and it's always async. I just tried it with the current one (and current tf) - the response is not instant (tf has a ridiculous number of toplevel definitions) but it's much faster than 2 seconds.
What tool are you using in which completions take so unpleasantly long?