The list of items included in the 9.0.1 update did not mention any performance improvements in RM9’s Advanced Search. The list of update items did mention performance improvements when filtering by groups. It has long seemed to me (with only weak evidence) that the root cause of poor performance in RM9’s Advanced Search might be similar to the root cause for RM9’s poor performance when filtering by groups. So I decided to test the performance of Advanced Search before and after the 9.0.1 update in my database of about 42,000 people.
I tried two different search criteria: BIrth => Date => Is Blank and also Birth => Date => Is Not Blank.These are two separate criteria for two separate tests.
Before the update, either criteria required about 65 seconds to complete the search. After the update, either criteria required about 24 seconds to complete the search. So something has improved, even though no improvements for Advanced Search were listed in the list of items for the 9.0.1 update. However, the improvement in filtering groups with the same criteria was much more dramatic,going from about 15 seconds to about 1 second or less.
The thing that’s always puzzled me about the Advanced Search in RM9 is that in theory all the search has to do is to produce a list of RIN numbers that satisfy the search. And indeed, RM9 appears to do that part of the search very quickly, like in under one second, and that part of the search is way faster than in RM7. But then the RM9 Advanced Search locks up and stays locked up for an extended period of time - first I/O bound like it’s reading the entire RM database very inefficiently and then CPU bound like it’s building a table of results very inefficiently.
I don’t like RM9’s Advanced Search very much anyway because it doesn’t support simply stepping through people that match the search one at a time. But if it’s going to produce the whole list of people instead of stepping through the list of people one at a time, it seems like it could just list the RIN numbers and names (and even the birth year and death year because they are in the same database table as the names). If it did that, RM9’s Advanced Search should be pretty nearly instantaneous. Then the only thing I would have left to complain about with respect to RM9’s Advanced Search would be the lack of Next and Previous options.