Once again, I’ve updated the composite and distribution guide maps.
Monthly Updates
In my last post on this subject, I mentioned that I was gearing towards trying to do monthly updates- the problem I found however, was that by the time the discovery phase of a cycle had finished, there were anywhere between 20 and 200 more sims listed in Linden Lab’s index. So I’ve spent the last 2 weeks refining the code after each cycle (aside from a few days off here and there, I’ve been running at least one cycle every day since the first of the month). As it stands, there were three bottlenecks in the cycles, one of which I dropped entirely:
- Image download phase- the first of the 3 final image process phases. I’ve managed to speed things up considerably by using some native PHP functions to download the images in batches of 500 instead of downloading them one at a time. Together with a workaround related to WEB-836, I’ve saved a fair amount of time by avoiding needless re-download of images.
- Data verification, an exhaustive process where every region still attached to the grid that hasn’t been updated in a week is updated. The reason this phase was dropped was because it verified all of the data associated with the region was still up to date- parcels, parcel owners etc. I’ve decided to leave that task to the pair of cron jobs on my server that keep the data up-to-date, as well as the passive “Google Bot” effect, where a region listed in my sitemaps is re-visited by Google Bot after it’s document has expired from my internal cache, which can trigger a new auto-discovery phase under certain conditions.
- Upscaled image generation. In previous updates, the map has been generated locally at twice the resolution of the maps that are available publicly. With the general improvements I made with the rest of the code, the composition process is significantly faster than before that I can easily just re-run the entire composition process to generate a higher-resolution image only if and when I need one.
Regarding further monthly updates, I may take November off (unless there’s significant demand for an updated map), as PHP 5.3 is getting released soon, so I’ll be refactoring a lot of my code to use some of the new features- features’ that’ll make it easier for me to add support for the Teen Grid and OpenSim to sw.slr (late-static binding FTW! :-P).