I have been geeking out at the GWR timetable and noticed the Swindon to London time is 56mins thereabouts. I think the track mileage is 76miles or so? This means something between London and Swindon is seriously wrong! Ipswich is 69 miles and that's an hour... how is GWR managing such times? Where's the slow section? To average 80mph or so on 125mph trunk route is abysmal.
What's going on, where and why?!
Paddington to Swindon is 77 miles 20 chains
Liverpool St to Ipswich is 68 miles 62 chains
In order to reach the claimed 1 hour journey time for Ipswich, you can only achieve this in the 'Down' direction; the 1700 from Liverpool St runs non-stop to Ipswich in 59min (69.9mph average), but a more typical journey time for a fast train is 1hour 7min, so you're comparing a headline Ipswich non-stop journey time with an average Reading & Didcot stopping Swindon journey time.
As you are using a faster than normal journey time for Ipswich, you need to do the same for Swindon to be fair. The 1645 from Paddington does the journey in 52min with a call at Reading (89.1mph average, even taking into account the dwell time at Reading).
In the 'Up' direction, there is no evidence of 1 hour journey times from Ipswich, while the quoted Swindon journey time can be beaten - slightly. If you depart Swindon at 0801, the journey time to Paddington is 53min, while from Ipswich the 0820 takes 1hour 4min, and that seems to be the fastest possible time. So it's an extra 11 minutes from Ipswich, and the distance is shorter.
If you ignore headline times and look at more typical journey times to London, it gets even worse for Ipswich! There are typically 4 off-peak trains per hour for each, but Swindon has more uniform gaps between trains, and from Ipswich journey times are typically 15 to 20 minutes longer than from Swindon.