The C implementation and parallelization speed up the running a lot, but changing the C code is an intimidating task since I am not familiar with C any more.
Do you happen to have written these three functions in _BLP.c in Python?
cal_mu
cal_s
and cal_ind_choice_prob