Flying is the fastest option (1h10), but you'll have to take into account:
- traveling times to the airports: London City Airport is close to the city center (22 min to Bank Station), but Edinburgh Airport is not (35 min by the tram, or 25 min in light traffic if you're driving or taking a cab outside peak hours);
- time spent getting through security;
- time waiting in the boarding room or for check-in (15 to 30 min at least, depending on whether you have luggage or not).
So this will probably bring you closer to 3 hours total, city center to city center.
By train, the fastest is with the East Coast Line: 4h27. But there is also a sleeper service from London to Edinburgh (the Caledonian Sleeper Lowland Route):
Travelling southbound, the Caledonian Sleeper departs from both Edinburgh Waverley and Glasgow Central at 23.40. On a Sunday the service leave a little earlier at 23.15. The Glasgow Central train stops at Motherwell with both trains then joining at Carstairs. The train crosses the border stopping at Carlisle and then at Watford Junction before arriving at London Euston by 07.10, plenty of time for breakfast before having a whole day in London. Travelling northbound the Caledonian Sleeper Lowland route sets off at 23.50 five nights a week and at 23.27 on Sundays. The train splits into two portions at Carstairs with arrivals to Glasgow Central at 07.20 and Edinburgh Waverley at 07.20.
Driving is not a fast option (over 7 hours).