There have been some previous postings on the slowth of LrKeyword methods and the crimp that puts in a number of different plugins. Just now, I gathered some reasonably detailed measurements that are pretty interesting.
On Windows, LrKeyword.getName, getParent, getChildren, and getSynonyms take about 6.3 msecs/call, while on Mac OS (on similar hardware) they cost 1.0 msecs/call, 6 times faster! The CPU utilization of the lightroom.exe process on Windows is very low, suggesting the performance slowth may be in file locking or other OS calls.
The upshot is that a plugin on Windows can only load the keyword hierarchy at about 50 - 60 keywords/sec, while on Mac it can load at about 250 - 300 keywords/sec.
I've certainly noticed plenty of waiting for Lightroom that I could not account for by looking sloppily at cpu utilization and disk activity. I've always suspected there is some task-switching/synchronization type issues that are slowing it down even as the cpu cycles are not being logged.
Sounds like you may be on to something...
Thanks for sharing,