Psychology plays an important role as well. The perceived amount of time a process takes depends on the progress bar behavior. A progress bar that starts fast and then slows down at the end will lead to a perception of a slower overall process than one which accelerates near the end. Some software has been built with this in mind and tweaks the progress bar advancement to be slightly non-linear with a bias toward accelerating at the end because that gives a more satisfying user experience.