First, it is slow. It takes second or two and sometimes more which is a lot for fluent development.
I understand it may be difficult to implement efficiently among other priorities (though it is definitely possible and I hope it will be resolved some day). However, some rudimentary caching and incremental update is not that complex. For example, when the caret is still in the same context, it makes no sense to clear completely and recompute the list. For example, it can show previously cached list along with ‘Computing more proposals’ and replace the old list when computing it done.
Second, even more annoying and critical is frequent freeze of the editor UI. Not completely, but it feels sluggish, one can not move cursor freely or edit text to cancel the current ‘computing’ drop down. This is very frequent situation. You recall the function name on the fly or decide to re-edit, your focus moved to different context and you flow with the thought and it just hang. You are sitting and waiting for a second while ‘computing’ closes.
Obstacle and distraction free, fluent source text editing is #1 priority of context assist. If it can not accomplish this #1, all its bells and whistles are worth much less.