Implementing large calculation inside multiple repeating group slows the odk collect

We are collecting data for household. We need to ask mother and father
question for each family member. The family member is a questionnaire
roster with multiple questions. The family member is asked inside a
repeating group which is repeated using family member count entered by the
user. The household is also inside a repeating group called building and
there can be multiple buildings in a single record.

Here is how I have implemented the father and mother question:

  • I have 50 calculation field to calculate the name of each member. This
    calculation is inside the household repeat just after the family member
    repeating group end. To calculate I use indexed-repeat to calculate the
    name of each member.
  • I use this calculated value in the choices sheet for mother and father
    question (Single select)
  • I use minimal in the appearance field for the question.

Before adding this calculation and question the survey form is working
well. But after implementing these calculation and question the survey form
is not working properly. There is lag in transaction period in some
questions. The lag significantly increases with addition of family members.

Is there a better way to implement this question.