Sorry (not sorry) that the title doesn’t make any sense…it’s nobody’s birthday today (it would be my cats’, had the last of them not passed away last year). It’s just that I dealt with a lot of returns last week ![]()
As revealed in devlog 28, I am currently working on a possible solution to the “imbalanced inbound and outbound traffic” issue affecting ITRs in particular. Tuesday and Wednesday were taken up by one of the few annual real-world meetings of the simulogics team. But after my colleagues left for their home offices again, I dove back into return bookings.
As I got the basic architecture adjustments out of the way in week 28 already, I focused on the actual return searches and bookings last week. From an implementation-perspective, this worked fairly well, and on Thursday I was able to post this very unimpressive screenshot of the very first return connection to an internal chat:
This just uses the vanilla ORS search UI as it is today, so one has to squint to see that it’s actually a return connection.
Either way, the result in this screenshot already uses a data dump from Paine which I used for initial performance testing. When I first ran the new system with the Paine data but with return connections disabled, I was pleased to see that it worked really well on my little Mac Mini from 2018, even before any optimisations.
After turning on return distribution, though, said little Mac broke into quite a sweat. The Paine data set is far from the largest when it comes to the number of flights, and yet (at least in my local environment) the code currently fails to process traffic distribution fast enough to keep up with the simulation.
To be fair, this was expected. And week 30 is going to be about figuring out where and how I can take shortcuts to speed everything up just enough to make it work.
But even if I fail to do so: It looks like the new algorithm brings a noticeable performance improvement even for single-direction distribution, so the project won’t have been in vain either way.
