Performance slowed down again shortly after I posted my previous message. I have no idea why it was OK for a bit.
The slowdown does seem correlate with the indexer working, even if it is not very busy. When I save a source code file I get a hang of a second or two, with a pizza wheel cursor, but the indexer has just spawned a single job that is indexing just one file (presumably the file I saved).
I see this even with all packages disabled.
It may have something to do with the number of files in my project. The code base I work with is fairly large -- about 5k each headers, C++ source files and Python source files, distributed among several dozen "packages". I usually have a the whole code base open in one project window, so I can search for things in in the whole code base. I also often one or two single "packages" open in other project windows, so i can easily limit searches to just the "package(s)" I'm working on.
If I close the project window that contains the whole code base then things seem saner. So I wonder if the slowdown is due to the indexer searching all files to see what it needs to index? If so, could it do that in the background?