Description
The method PopulateGroupMembersAction.grouperExecute() makes at least a couple of expensive calls:
Group.getImmediateMemberships()
GrouperHelper.getOneMembershipPerSubjectOrGroup()
The call to getImmediateMemberships() has improved significantly since the 1.2.0 code since it does a bulk retrieval of all memberships. For a group with about 20,000 members, this call takes about 7 seconds in Duke's environment. However, getOneMembershipPerSubjectOrGroup() calls Membership.getMember() for each membership and takes about 100 seconds before timing out in the UI.