I’ve updated the topocreator.com elevation profile using a higher resolution dataset to get the full 3005 miles of the course. Plus, I turned on the box gradient feature. The box gradients are drawn into the profile and show ALL climbs and descents of at least 1 mile in length and a 5% average grade. Inside the box is the exact length of the 5% section of the climb, the exact grade, and the vertical difference between the start and end of the climb (or descent). Click on the image below for a 8500 pixel version of the profile. Your browser will probably load the image in a window by itself and then scale it down to fit on the screen. You may need to click on the image itself again to zoom in to see full detail.
To get this to work, I rewrote the entire algorithm in Java so that it could run on a real machine rather than the virtual machine hosting the web server. The profile creation took only a matter of a couple of minutes … most of which was transferring the megabytes of data back and forth between the web server and my home system.