Given how much of the web is dynamically loaded now, it seems like there really out to be a built-in API for displaying load progress to the user.
For longer wait times, this becomes critical. 5 seconds with no feedback feels incredibly, ridiculously long. 5 seconds with feedback feels like completely reasonable. I sometimes use almost entirely fake progress bars which asymptotically approach full when I have no way to measure how long something will take. It's bizarre, but even knowing that the progress bar is fake, watching it fill up makes the time seem shorter than staring at a spinner.
Actually improving loading time is important, of course, but the ROI is tiny compared to basic user feedback.