You should not update as often as you do. 100 times per second is way too often. 60 would be sufficient to achieve a good frame-rate in theory. However a UIProgressBar can update its value with an animation. Hence you only need to update say 70 times in total or 10 times per second and make the changes with an animation.
I would go for 10 animated updates or less. Or you could try to update with one animation:
[UIView animateWithDuration:7.0 animations:^{
[progressView setProgress:1.0 animated:YES]; //maybe try animated: NO here
} completion:^(BOOL finished) {
//ended
}];
While I did not test this approach, it seems far cleaner than manually performing what essentially is a timed animation of the progress.