Thank you for posting. Many users seem not to see the problem, or at least do not seem to see the problem quite so acutely. So having additional instances reported helps to confirm that there really is a problem.
I suspect that having a freeform group vs. having a criterion group has little or nothing to do with it. You could test this by recreating your freeform group as criterion group with a different name or vice versa and testing with those additional groups.
However, sometimes a freeform group cannot be recreated as a criterion group because the allowable definition of a criterion group is somewhat limited. For example, I don’t know of any way to create your group of ancestors and descendants as a criterion group. But you could recreate your “any fact date < 1900” group as a new freeform group with a different name, just for testing purposes.
I just now created your “any fact date < 1900” group in my database, both as a free from group and as a criterion group. There are 22305 people in the group either way, out of 42920 people in my database. The filter time for either group is about 25 seconds.
The amount of time required to filter a group does seem to be related to how many people are in the group. The filter time for a group of 100 people is fine. The filter time for a group of 25,000 people is not fine. But the filter time does not always seem to be directly proportional to the number of people in the group. For example, I just made a group of “any fact date is blank OR any fact date is not blank” which was deliberately designed to include all 42920 people in the database. The filter time is 15 seconds whether I made the group as free form or criterion, which is faster than the 25 seconds for a group of 22305 people.
Remember that this problem has been there since the advent of RM8, long before the implementation of criterion groups. I first noticed the problem in the new Advanced Search. During an Advanced Search, the initial pass at the criteria is quite fast, often less than a second and indeed faster than in RM7. But then there are two very slow phases that you can only see with Windows Task Manager. In the first very slow phase, the I/O rate extremely high where the Advanced Search seems to be reading the entire database and collecting data. In the second very slow phase, the CPU rate is very high with one processor core completely maxed out. It’s a guess, but during this phase I suspect that Advanced Search is building the results list in the format for final display.
The time seems to go up faster than the number of people in the group or in the Advanced Search. If N is the number of people in the group or the Advanced search, I suspect the time is going up proportional to N-squared rather than going up proportional to N.
In using groups, I don’t see any of this delay while building a group. Rather, I see this delay while filtering by a group. And I only see the CPU bound phase of the delay when filtering by a group without seeing any of the I/O bound phase of the delay.
If the problem is going to be solved, I think the solution is going to need to start with the delays in Advanced Search. If the problem is solved there, the same solution will surely also work for filtering groups.