LrKeyword methods very slow?
The LrKeyword methods appear to be very slow, making them impractical for interactive plugins that manipulate all the keywords in a catalog. Has anyone else encountered this or have any suggestions?
The methods :getAttributes, :getChildren, :getName, :getParent, :getPhotos, and :getSynonyms each take about 15 msecs on a catalog with 16K photos and 588 keywords. To get the string names of all the keywords in the catalog takes about 17 seconds. This means a user would have to wait quite a while as the plugin fetches all the keywords. A workaround is for the plugin to cache the keywords and provide a "reload cache" button, but that's pretty klutzy.
While getting all the keywords in a catalog, the CPU utilization is low and there is little disk activity, suggesting a locking problem or that LR is accessing the database (the relevant parts being cached in memory).
One suggestion: provide a batch method for getting all the keyword information all at once.