It sounds to me as if you're doing an awful lot of computation by hand instead of allowing the computer to do what it's good at.
Have you seen this? http://brunosan.eu/2012/07/20/a-heat...-in-runkeeper/

You haven't said how you're getting your data out of your GPS, but from what I understand the .gpx format is fairly common.