update_z_controller too slow

I’m trying to write my own flight mode in which I will control the flight altitude. For tests I use SITL+Webots. I’m not sure that it adequately emulates flight, but in this case the standard function for altitude control works very slowly.

pos_control->set_pos_target_z_from_climb_rate_cm(climb);
pos_control->update_z_controller();

It may take seconds until the set speed is reached. Which is absolutely unsuitable for control in enclosed spaces. Are these simulation problems or will everything be just like that in reality? What quick-response height control mechanisms are there?