I have written a rather naive program for finding all holomorphic eta quotients of given weight and level (and varying character). When the level has few divisors it is very fast, but incredibly slow otherwise. For instance, if I am not mistaken there are $1224$ holomorphic eta quotients in $M_{3/2}(\Gamma_1(60))$, i.e., weight $3/2$, level (dividing) $60$ and character $\chi_D$ with $D=1$, $5$, $12$, or $60$. My program requires almost $40$ minutes. Surely one can do better than that ? I would appreciate an algorithm, if not readable code is OK, thank you.
Edit: in fact, in this special case the 4 characters can be treated together, so the time divided by 4, but this is special and still very slow, so the question remains.