A few tools have been mentioned in other answers that could help such as Dynatrace Ajax edition, Compuware Gomez and WebPageTest. Another tool I have used is Selenium Webdriver with some custom timers.
There are a few caveats that you need to be aware of for this kind of performance measurement:
- The available system memory and CPU will affect the speed. If you have a resource constrained or under-powered machine it will affect the results.
- If using tools like Selenium your test needs to be clear about what done is, for example you may be watching for an element to appear and as soon as that element appears you consider it "done".