Handling elevation data and combine it with OpenStreetMap can be a pain. And indeed it was when we implemented this for GraphHopper roughly one year ago. But we really wanted to make it easy for our users. And it is not only efficient but also easy to import and show the data as well as using this data while routing. Read here for more details
Discussion