Since I'd recently rebooted a box here (Patch Tuesday), I checked if the delay had gone away in the copy of clooj on that system.
It hadn't, but something very interesting happened. We've been trying to debug some networking issues with that box, and it's currently logging all network traffic and generating notifications for same. When I typed "extend-p" and hit tab, a notification came up that a javaw.exe process on that machine had sent HTTP packets to some remote host named
collaj.net.
The simplest explanation for this is that clooj is a) searching someplace on the net for documentation, b) doing that even when there is local documentation in local repositories that is responsive to the user's query, and c) doing it *synchronously, in the UI thread*, of all the insane things it could possibly do.
Obviously that's broken, if true. In fact I don't see that there's any need to look for clojure docs online, as anything that's in the [:dependencies] of the current project should exist in the local repo, complete with docstrings. As for Javadocs, as of 0.2.8 clooj didn't look up Javadocs; it just told you as much as it could determine by using java.lang.reflect and Class methods on a Class object. If 0.4.0 wants to look up Javadocs, it should do it for classnames only, and it should do it at
oracle.com. Especially if it's going to do it synchronously in the UI thread, it should do it at
oracle.com, which ought to be a fast, high-capacity web server, and not at
collaj.net, which quite obviously is not if it's consistently taking 30 seconds and more to respond to queries.